在我的webpack.config.js中,我正在从其他文件中导入几个JS对象进行配置。 这些对象是使用传播算子组成的。 例如在build.js中
const otherObj = { a:[], b: [] }
const conf = {
prop1: [],
...otherObj
}
然后我想以这种方式在webpack.config.js中使用这些对象:
const { prop1, a, b } = require('./build.js');
module.exports = {
entry: { prop1, a, b },
rules: [
{
test: jsRegex,
exclude: /node_modules/,
use: ["babel-loader"]
},
]
}
启动构建脚本时,出现SyntaxError:
...otherObj,
^^^
SyntaxError: Unexpected token ...
注意:.babelrc
{
"presets": [
"@babel/preset-env"
],
"plugins": [
"@babel/syntax-object-rest-spread"
]
}
答案 0 :(得分:1)
这取决于您使用的node
的版本。例如,使用节点v6.15.1
(Boron)将返回与您相同的错误,但是在v8.14.0
(Carbon)上运行时,它可以正常编译。
检查所使用的节点版本是否支持所需的功能。
您正在使用object spread properties的功能已添加到v8.6.0
(正在运行的没有标志的节点)上。
您可以transpile your webpack config,通过这种方式,您可以使用当前节点版本并使用您可能喜欢的所有ES6功能。
答案 1 :(得分:0)
您应该在下面添加.babelrc文件。
然后安装:npm i babel-plugin-transform-object-rest-spread
{
"presets": ["env", "react"],
"plugins": ["transform-object-rest-spread"]
}
这对我有用,请尝试!