我有一个运行的webpack-dev-server,它编译并提供一些Babel / React代码。我已经将其提供给已编译的client.js
而不是localhost:3001
。
但是当我尝试在HTML中包含脚本时,我在Chrome的开发者控制台中收到以下错误:
routerWarning.js:19 Uncaught SyntaxError: Unexpected token :
该行属于react-router并包含以下代码:
process.env.NODE_ENV !== 'production' ? _warning2['default'].apply(undefined, [falseToWarn, message].concat(args)) : undefined;
首先,我看不出那行代码会导致语法错误。其次,我不明白它是如何进入的,因为这看起来像是一段编译(babelified)代码给我。最后,我不知道如何解决它! :(
非常感谢任何帮助。
答案 0 :(得分:5)
我正在使用webpack的DefinePlugin来设置process.env.BABEL_ENV
,如下所示:
new DefinePlugin({
'process.env': {
BABEL_ENV: JSON.stringify('client')
}
});
这导致webpack用process.env
替换代码中的{"BABEL_ENV":"client"}
的所有实例。 SyntaxError是在这部分引起的,而不是在三元表达式中引起的。
我通过设置process.env.BABEL_ENV
来修复它:
new DefinePlugin({
'process.env.BABEL_ENV': JSON.stringify('client')
});