Добавьте плагин "offer-object-rest-spread" в babel.config.js, чтобы исправить ошибку Microsoft Edge SCRIPT1028 - PullRequest
2 голосов
/ 27 октября 2019

Мне нужно добавить этот плагин Babel к babel.config.js , чтобы избавиться от Microsoft Edge Ошибка браузера

SCRIPT1028: Ожидаемый идентификатор, строка или номер

Я установил последние пакеты и добавил их в package.json. Ниже я попробовал, но он не преобразует код после запуска npm run build :

babel.config.js

require("@babel/core").transform("code", {});

module.exports = {
  presets: ["@vue/app"],
  plugins: ["@babel/plugin-proposal-object-rest-spread"]
};

package.json

{
  "name": "example",
  "version": "0.2.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "@babel/polyfill": "^7.6.0",
    "core-js": "^2.6.5",
    "date-fns": "^2.4.1",
    "firebase": "^7.0.0",
    "lodash": "^4.17.15",
    "register-service-worker": "^1.6.2",
    "vue": "^2.6.10",
    "vue-flickity": "^1.2.1",
    "vue-router": "^3.0.3",
    "vuetify": "^2.0.0",
    "vuex": "^3.0.1"
  },
  "devDependencies": {
    "@babel/cli": "^7.6.4",
    "@babel/core": "^7.6.4",
    "@babel/plugin-proposal-object-rest-spread": "^7.6.2",
    "@babel/preset-env": "^7.6.3",
    "@vue/cli-plugin-babel": "^3.11.0",
    "@vue/cli-plugin-eslint": "^3.11.0",
    "@vue/cli-plugin-pwa": "^3.11.0",
    "@vue/cli-service": "^3.11.0",
    "@vue/eslint-config-prettier": "^5.0.0",
    "babel-eslint": "^10.0.1",
    "eslint": "^5.16.0",
    "eslint-plugin-prettier": "^3.1.0",
    "eslint-plugin-vue": "^5.0.0",
    "material-design-icons-iconfont": "^5.0.1",
    "prettier": "^1.18.2",
    "sass": "^1.17.4",
    "sass-loader": "^7.1.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.2",
    "terser-webpack-plugin": "^2.1.2",
    "uglifyjs-webpack-plugin": "^2.2.0",
    "vue-cli-plugin-vuetify": "^0.6.3",
    "vue-template-compiler": "^2.6.10",
    "vuetify-loader": "^1.2.2"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "@vue/prettier"
    ],
    "rules": {},
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions"
  ]
}

Как настроить плагин Babel для правильного преобразования кода?

РЕДАКТИРОВАТЬ: Снимок экрана ошибки - EDGE INSIDER 18 указывает на этот кусок кода: Error: EDGE INSIDER 18 points to this piece of code.

Ответы [ 2 ]

2 голосов
/ 28 октября 2019

, поскольку я не могу попробовать код, с которым вы работаете, для проверки, я бы предложил использовать следующую конфигурацию babel, как указано в конфигурации библиотеки:

  plugins: [["@babel/plugin-proposal-object-rest-spread", { "loose": true, "useBuiltIns": true }]]
0 голосов
/ 05 ноября 2019

babel.config.js должен экспортировать функцию и должен быть в корне вашего проекта.

Ваша конфигурация должна быть похожа на эту ?

module.exports = function(api) {
    api.cache(true);

    const presets = ['@vue/app'];
    const plugins = ['@babel/plugin-proposal-object-rest-spread'];
    // Or try this
    // const plugins = [['@babel/plugin-proposal-object-rest-spread', { loose: true, useBuiltIns: true }]];

    return {
        presets,
        plugins,
    };
};
...