vue-cli-service: SyntaxError: Unexpected token '...'. Expected a property name

vue-cli-service: SyntaxError: Unexpected token '...'. Expected a property name

我正在使用 vue 组合一个小应用程序,我特别需要它 运行 在不支持 ES6 的设备上。我正在使用 vue-cli-service build 进行构建,当我尝试在我的 ES5 设备上打开此页面时,我看到了这个错误 SyntaxError: Unexpected token '...'. Expected a property name.

我已经安装了 babel,并将其添加到我的 .babelrc 中:{ "presets": ["@babel/preset-env"] }

我不太确定还可以尝试什么,我没能找到任何专门解决这个问题的方法。甚至 vue-cli-service 文档也提出了支持 ES5 polyfill 的方法,但我认为这不是一回事。

我在使用 Vuetify 和 Safari 11.1 时遇到了这个问题

我想我需要为旧版浏览器转换 ES6 版本的 Vuetify。解决方案很难搜索,因为大多数建议都是关于修改 webpack 或 babel 配置的,我发现这些在 Vue CLI 中被隐藏了。

我最终通过 Vue CLI 从头开始​​重建我的项目,自己找到了解决方案,安装程序神奇地为 Vuetify 添加了一个我缺少的转译选项 - 我想是因为我之前 upgraded Vuetify 跨 ES5 到 ES6 版本,也许他们的升级脚本不执行此步骤。

vue.config.js

module.exports = {
 "transpileDependencies": [
   "vuetify"
 ],}

这相当于 webpack

build: {
    transpile: ['vuetify']
}

重新启动构建并重新加载。

当然,您需要找到它是哪个包裹 - 这只是一个示例。我只是在错误堆栈中挖掘,直到找到属于 Vuetify 的东西。