IE11 + Vue-Cli + Webpack + Babel - SCRIPT1003错误

时间:2017-08-22 08:26:37

标签: javascript internet-explorer webpack vue.js babeljs

IE11中有 SCRIPT1003:预期':'错误。 我在vue-cli工具上安装了vuejs。它一直有效,直到我将vuex库添加到package.json。 我的 package.json 依赖关系如下:

"dependencies": {
    "axios": "^0.16.2",
    "babel-polyfill": "^6.26.0",
    "lodash": "^4.17.4",
    "rxjs": "^5.4.2",
    "vue": "^2.3.3",
    "vue-i18n": "^7.1.0",
    "vue-router": "^2.6.0",
    "vue-rx": "^3.3.0",
    "vuetify": "^0.14.11",
    "vuex": "^2.3.1",
    "vuex-persistedstate": "^2.0.0"
  }

正如许多其他帮助论坛上所建议的,我尝试过使用babel polyfill。我的 .babelrc 文件是这样的:

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-runtime"],
  "env": {
    "test": {
      "presets": ["env", "stage-2"],
      "plugins": ["istanbul"]
    }
  }
}

我已将polyfill包含在 build / webpack.base.conf.js 的入口点中:

entry: {
  app: ['babel-polyfill', './src/main.js']
},

不幸的是,在所有这些之后我仍然得到同样的错误。你能帮我解决一下如何让它在IE11中运行吗?

提前谢谢。

致以最诚挚的问候,

戈兰

2 个答案:

答案 0 :(得分:2)

您很可能会收到此错误,因为代码中的某处您已使用shorthand property编写了一个对象文字。

在您的主Vue实例的构造函数中传递Vuex store时,最可能的罪魁祸首是:

new Vue({
  el: '#app',
  store,
  // ...
});

IE11不支持速记属性,因此它让您知道它需要:来定义属性值:

new Vue({
  el: '#app',
  store: store,
  // ...
})

答案 1 :(得分:-1)

从Vue.js论坛得到答案:

https://forum.vuejs.org/t/ie11-vue-cli-webpack-babel-script1003-error/16257/6

问题是在组件中添加了vCardMedia:

components : {
 vCardMedia
}

一旦我删除它,一切都适用于包括babel。仍然不确定为什么组件会破坏它...