javascript - 在 webpack.config.js 中使用扩展运算符的语法错误

标签 javascript node.js webpack ecmascript-6

在我的 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"]
      },
    ]
}

当我启动构建脚本时,我得到一个语法错误:

    ...otherObj,
^^^
SyntaxError: Unexpected token ...

注意:下面是 .babelrc

    {
    "presets": [
        "@babel/preset-env"
    ],
    "plugins": [
        "@babel/syntax-object-rest-spread"
    ] 
}

最佳答案

这取决于您使用的 node 版本。例如,使用 Node v6.15.1 (Boron) 将返回相同的错误,但在 v8.14.0 (Carbon) 上运行时它编译得很好。

使用 Node

检查您使用的 Node 版本是否支持您需要的功能。

您正在使用的功能 object spread properties已添加到 v8.6.0(不带标志的运行 Node )。

使用巴别塔

您可以 transpile your webpack config ,这样您就可以使用当前的 Node 版本并使用您可能喜欢的所有 ES6 功能。

关于javascript - 在 webpack.config.js 中使用扩展运算符的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53706060/

相关文章:

node.js - Stripe 连接 : Cancel Subscription with Node. js

node.js - NodeJS - 使用 "Sequest"检查 SFTP 远程文件是否存在

javascript - Autoprefixer 加载器破坏 Webpack 中的 scss 编译

node.js - vuejs - 来自 chokidar 的错误(C :\): Error: EBUSY: resource busy or locked, lstat 'C:\hiberfil.sys'

javascript - 如何使用 jQuery Ajax 将数据从 JSON 添加到 HTML?

javascript - 查找一个元素并将其移动到另一个元素下方

javascript - insideHTML 不打印。 (Javascript)

javascript - 容器中的一个 div,其背景可以延伸到无穷大

node.js - 返回或不回调,对 Node 有影响吗

javascript - 运行 Node Express 服务器显示错误消息