【问题标题】:TypeError: Object # has no method 'forEach' at new LoadersList while setting up react projectTypeError: Object # has no method 'forEach' at new LoadersList while setting up react project
【发布时间】:2016-06-30 10:38:50
【问题描述】:

我成功设置了反应开发设置。但是运行 npm start 会出现以下错误。

我无法弄清楚这个错误是从哪里产生的。请帮忙!

    TypeError: Object #<Object> has no method 'forEach'  at new LoadersList 
    (C:\Users\User\AppData\Roaming\npm\node_modules\webpack\node_modules\webpack-
    core\lib\LoadersList.js:7:12) at new NormalModuleFactory (C:\Users
    \User\AppData\Roaming\npm\node_modules\webpack
    \lib\NormalModuleFactory.js:16:17) at Compiler.createNormalModuleFactory 
    (C:\Users\User\AppData\Roaming\npm\node_modules\webpack    
    \lib\Compiler.js:369:28)  at Compiler.newCompilationParams (C:\Users    
    \User\AppData\Roaming\npm\node_modules\webpack\lib\Compiler.js:382:29) at 
    Compiler.compile (C:\Users\User\AppData\Roaming\npm\node_modules\webpack
    \lib\Compiler.js:389:20)    at Watching.<anonymous> (C:\Users\User\AppData
    \Roaming\npm\node_modules\webpack\lib\Compiler.js:46:17)    at Compiler.next 
    (C:\Users\User\AppData\Roaming\npm\node_modules\webpack\node_modules\tapable
    \lib\Tapable.js:67:11)   at Compiler.invalidAsyncPlugin (C:\Users\User\AppData
    \Roaming\npm\node_modules\webpack-dev-server\node_modules\webpack-
    dev-middleware\middleware.js:80:3) at Compiler.applyPluginsAsync (C:\Users
    \User\AppData\Roaming\npm\node_modules\webpack\node_modules\tapable
    \lib\Tapable.js:71:13)  at Watching._go (C:\Users\User\AppData\Roaming
    \npm\node_modules\webpack\lib\Compiler.js:44:16)

请提出建议。谢谢!

【问题讨论】:

    标签: node.js reactjs webpack webpack-dev-server


    【解决方案1】:
    Object #<Object> has no method 'forEach'
    
        forEach will work for Array, means looping the array, 
    but in your case your calling the method `forEach` in Object.
    

    正确:

    [].forEach.
    

    你正在做的是:

    {}.forEach
    

    【讨论】:

    • 嗨,其实我还没有开始写任何代码。这似乎是自动生成的,所以很困惑它可以在哪里使用。
    • 对根本原因有什么建议?
    【解决方案2】:

    如果有人遇到同样的问题,原因是 webpack.config.js 中的加载器是一个对象而不是对象值数组。

    即。所有加载器都必须包装在一个数组中。作为对象数组。

    module:{ loaders:**[** { test:/\.jsx?$/, exclude:/node_modules/, loader:'babel', query:{ presets:['react','es2015'] } } **]** }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多