vue-cli-service:SyntaxError:意外的令牌“...”。需要一个属性名称

dre*_*oft 4 npm vue.js vue-cli

我正在使用 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 的方法,但我认为这不是一回事。

sci*_*lot 5

我在 Vuetify 和 Safari 11.1 上遇到了这个问题

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

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

vue.config.js

module.exports = {
 "transpileDependencies": [
   "vuetify"
 ],}
Run Code Online (Sandbox Code Playgroud)

这相当于 webpack

build: {
    transpile: ['vuetify']
}
Run Code Online (Sandbox Code Playgroud)

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

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