Webpack/Babel/React - "Uncaught SyntaxError:Unexpected token:"

Koe*_*oen 2 javascript reactjs webpack babeljs

我有一个webpack-dev-server运行,它编译并提供一些Babel/React代码.我已经得到它服务编译client.js结束localhost:3001.

但是当我尝试在我的HTML中包含脚本时,我在Chrome的开发者控制台中收到以下错误:

routerWarning.js:19 Uncaught SyntaxError: Unexpected token :
Run Code Online (Sandbox Code Playgroud)

该行属于react-router并包含以下代码:

process.env.NODE_ENV !== 'production' ? _warning2['default'].apply(undefined, [falseToWarn, message].concat(args)) : undefined;
Run Code Online (Sandbox Code Playgroud)

首先,我没有看到这行代码会如何导致语法错误.第二,我不明白它是如何进入的,因为这看起来像是一段编译(babelified)代码给我.最后,我不知道如何解决它!:(

任何帮助将不胜感激.

Koe*_*oen 5

我使用webpack的DefinePlugin来设置process.env.BABEL_ENV如下:

new DefinePlugin({
  'process.env': {
    BABEL_ENV: JSON.stringify('client')
  }
});
Run Code Online (Sandbox Code Playgroud)

这导致webpack替换process.env代码中的所有实例{"BABEL_ENV":"client"}.SyntaxError是在这部分引起的,而不是在三元表达式中引起的.

我通过以下设置修复它process.env.BABEL_ENV:

new DefinePlugin({
  'process.env.BABEL_ENV': JSON.stringify('client')
});
Run Code Online (Sandbox Code Playgroud)