2017-06-05 85 views
1

我希望能够在我的webpack.config中使用es6导入和导出默认值。如果我这样运行我的webpack。在webpack.config中使用ES6导入和导出默认值

webpack.config.js

"webpack": "cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js" 

我得到whick有望错误SyntaxError: Unexpected token import。然后,我发现其他问题的解决方案似乎适用于很多人。将文件重命名为webpack.config.babel.js并包含babel-register。我想, webpack.config.babel.js

"webpack": "cross-env NODE_ENV=development node -r babel-register node_modules/.bin/webpack-dev-server --config=webpack.config.babel.js" 

,但现在我得到这个错误

basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 
      ^^^^^^^ 
SyntaxError: missing) after argument list 

我试着用巴贝尔节点和更大量的组合巴贝尔注册,但似乎没有上班。我在Windows 10.我该怎么做?

回答

2

尝试的WebPack直接运行,而无需babel-register

"webpack": "cross-env NODE_ENV=development node_modules/.bin/webpack-dev-server --config=webpack.config.babel.js" 

此外,请确保您的.babelrc文件,你有babel-plugin-transform-es2015-modules-commonjs插件,或者如果您使用的es2015预设的modules选项设置为true。如果你不想通天(使一个产品包时为例)transpile在其他情况下的模块,你可以告诉babel-loader不使用.babelrc和手工指定预设:

{ 
    test: /\.js$/, 
    exclude: /node_modules/, 
    loader: 'babel-loader', 
    options: { 
    babelrc: false, 
    presets: [ 
     ['latest', { 
     modules: false, 
     }], 
    ], 
    }, 
}, 
+0

感谢。它现在有效,但我又遇到了另一个问题。我的HMR/React热加载程序已停止注入更改。我必须手动刷新页面才能看到更改。这是如何相关的?我使用服务器端渲染。 –