我正在使用react-boilerplate(dev),在执行npm run build:prod
时出现以下错误
cross-env NODE_ENV =生产webpack --config internals / webpack / webpack.prod.babel.js --color -p --progress --display-reasons --display-modules
...
哈希:622954faf5a47209c873
版本:webpack 2.6.1时间:18561ms来自UglifyJs的0.ce0d924df6602f0a85c8.chunk.js中的错误意外 token:name(侦听器)[0.ce0d924df6602f0a85c8.chunk.js:1265,6]
...
代码部分是:
1261: "use strict";
1262: Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1263: /* harmony export (immutable) */ __webpack_exports__["default"] = createBroadcast;
1264: function createBroadcast (initialState) {
1265: let listeners = {}
1266: let id = 0
1267: let _state = initialState
似乎这部分代码没有“编译”?
我目前有:
internals/webpack/webpack.base.babel.js
:
{
test: /\.js$/, // Transform all .js files required somewhere with Babel
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: options.babelQuery,
},
},
package.json
:
"babel": {
"plugins": [
"styled-components"
],
"presets": [
[
"env",
{
"modules": false
}
],
"react",
"es2015",
"es2016",
"stage-0"
],
"env": {
"production": {
"only": [
"app"
],
"plugins": [
"transform-react-remove-prop-types",
"transform-react-constant-elements",
"transform-react-inline-elements"
]
},
"test": {
"plugins": [
"transform-es2015-modules-commonjs",
"dynamic-import-node"
]
}
}
我也尝试过:
"presets": [
[
"env",
{
"modules": false,
"targets": {
"uglify": 2
}
}
],
"es2015",
"es2016",
"stage-0",
"react"
],
答案 0 :(得分:1)
如果在node_modules中有ES6,那么一般方法是更改
exclude: /node_modules/
到
exclude: /node_modules\/(?:specificModule)/
以便排除除特定节点模块之外的所有节点模块。
此外,鉴于您的错误
> ./~/react-jss/lib/jss.js中的错误模块构建失败:ReferenceError:未知插件" transform-es3-member-expression-literals"在" xxxx / node_modules / react-jss / .babelrc"中指定在0`错误
您的选择有限。这意味着react-jss
模块正在其npm包中发布它的.babelrc
文件,出于这个原因不推荐这样做。该配置将尝试在该模块中的文件上运行,但该配置使用的是您尚未安装的插件,并且由于它们可能是react-jss
中的devDependencies,因此无法正常安装
解决此错误的唯一方法是禁用.babelrc
处理,或者在您自己的依赖项中显式安装该插件。两者都不是特别有吸引力。因此,在babelrc: false
中传递babelQuery
{
loader: 'babel-loader',
options: options.babelQuery,
}
然后将您的Babel配置从其配置文件移到Webpack配置文件中。