SyntaxError с использованием оператора распространения в webpack.config.js - PullRequest
0 голосов
/ 10 декабря 2018

В моем webpack.config.js я импортирую несколько JS-объектов для конфигурации из других файлов.Эти объекты составлены с использованием оператора распространения.Ex.в 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"
    ] 
}

1 Ответ

0 голосов
/ 10 декабря 2018

Это зависит от версии node, которую вы используете.Например, использование узла v6.15.1 (Boron) вернет ту же ошибку, что и у вас, но при работе на v8.14.0 (Carbon) он компилируется просто отлично.

Использовать узел

Убедитесь, что используемая версия узла поддерживает необходимые вам функции.

Добавлена ​​функция, которую вы используете Свойства распространения объекта на v8.6.0 (работает узел без флагов).

Использовать babel

Вы можете перенести конфигурацию вашего веб-пакета , таким образом вы можете использовать текущую версию узла и использовать всефункции ES6, которые могут вам понравиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...