2016-08-03 107 views
2

清除node_modules文件夹并执行干净npm build并运行webpack后,遇到以下错误。清理node_modules文件夹后webpack babel生成错误

有人可以帮助我了解我得到的错误吗?即时通讯新的webpack。

下面的代码片段是我的webpack.config

var path = require('path'); 
 
var webpack = require('webpack'); 
 

 
var config = { 
 
    devtool: 'cheap-module-eval-source-map', 
 
    entry: [ 
 
    'webpack-hot-middleware/client', 
 
    './app/main' 
 
    ], 
 
    output: { 
 
    path: path.join(__dirname, 'public', 'js'), 
 
    filename: 'bundle.js', 
 
    publicPath: '/js' 
 
    }, 
 
    plugins: [ 
 
    new webpack.HotModuleReplacementPlugin(), 
 
    new webpack.NoErrorsPlugin(), 
 
    new webpack.optimize.OccurenceOrderPlugin(), 
 
    new webpack.DefinePlugin({ 
 
     'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) 
 
    }) 
 
    ], 
 
    module: { 
 
    loaders: [ 
 
     { 
 
     test: /\.js$/, 
 
     exclude: /node_modules/, 
 
     loader: 'babel', 
 
     query: { 
 
      plugins: [ 
 
      ['react-transform', { 
 
       transforms: [ 
 
       { 
 
        transform: 'react-transform-hmr', 
 
        imports: ['react'], 
 
        locals: ['module'] 
 
       }, { 
 
        transform: 'react-transform-catch-errors', 
 
        imports: ['react', 'redbox-react'] 
 
       } 
 
       ] 
 
      }] 
 
      ], 
 
      presets: ['react', 'es2015', 'stage-1'] 
 
     } 
 
     } 
 
    ] 
 
    }, 
 
    resolve: { 
 
    extensions: ['', '.js', '.jsx', 'css', 'scss'] 
 
    }, 
 
};

ERROR in ./app/components/App.js Module build failed: TypeError: /Users/ericlin/projects/360/app/components/App.js: Property id of VariableDeclarator expected node to be of a type ["LVal"] but instead got "CallExpression" at Object.validate (/Users/ericlin/projects/360/node_modules/babel-types/lib/definitions/index.js:109:13) at Object.validate (/Users/ericlin/projects/360/node_modules/babel-types/lib/index.js:541:9) at NodePath._replaceWith (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/replacement.js:208:7) at NodePath.replaceWith (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/replacement.js:186:8) at RewireState.Identifier (/Users/ericlin/projects/360/node_modules/babel-plugin-rewire/lib/babel-plugin-rewire.js:176:10) at NodePath._call (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/context.js:76:18) at NodePath.call (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/context.js:48:17) at NodePath.visit (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/context.js:106:12) at TraversalContext.visitQueue (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:167:16) at TraversalContext.visitSingle (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:118:19) at TraversalContext.visit (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:211:19) at Function.traverse.node (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/index.js:161:17) at NodePath.visit (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/context.js:116:19) at TraversalContext.visitQueue (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:167:16) at TraversalContext.visitMultiple (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:113:17) at TraversalContext.visit (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:209:19) at Function.traverse.node (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/index.js:161:17) at NodePath.visit (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/context.js:116:19) at TraversalContext.visitQueue (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:167:16) at TraversalContext.visitMultiple (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:113:17) at TraversalContext.visit (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:209:19) at Function.traverse.node (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/index.js:161:17) at traverse (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/index.js:83:12) at NodePath.traverse (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/index.js:147:25) at PluginPass.exit (/Users/ericlin/projects/360/node_modules/babel-plugin-rewire/lib/babel-plugin-rewire.js:199:11) at newFn (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/visitors.js:301:19) at NodePath._call (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/context.js:76:18) at NodePath.call (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/context.js:48:17) at NodePath.visit (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/path/context.js:118:8) at TraversalContext.visitQueue (/Users/ericlin/projects/360/node_modules/babel-traverse/lib/context.js:167:16) @ ./app/routes.js 31:11-38

回答

2

我今天也有类似的情况在做清洁NPM安装在旧的项目之后。看来babel-plugin-rewire是责怪。就我而言,我找到了两种解决方案。

首先解决办法是从卷回[email protected]1.0.0-rc-4

我选择其他的解决方案,这可能是不适合你的情况。在我的.babelrc我有rewire插件声明在顶级,所以我把它移到test环境。所以,我的我的.babelrc

{ 
    "presets": [ 
    "es2015", 
    "react" 
    ], 
    "plugins": [ 
    "syntax-class-properties", 
    "transform-class-properties", 
    "syntax-object-rest-spread", 
    "transform-object-rest-spread", 
    "rewire" 
    ], 
    "env": { 
    "start": { 
     "presets": [ 
     "react-hmre" 
     ] 
    } 
    } 
} 

改成这样:

{ 
    "presets": [ 
    "es2015", 
    "react" 
    ], 
    "plugins": [ 
    "syntax-class-properties", 
    "transform-class-properties", 
    "syntax-object-rest-spread", 
    "transform-object-rest-spread" 
    ], 
    "env": { 
    "start": { 
     "presets": [ 
     "react-hmre" 
     ] 
    }, 
    "test": { 
     "plugins": [ 
     "rewire" 
     ] 
    } 
    } 
} 
+0

回滚到巴别塔 - 插件,重新连接感谢1.0.0-RC-4为我工作! – Pakage