我正在使用 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 添加了一个我缺少的转译选项 - 我想是因为我之前已经升级了 Vuetify 从 ES5 到 ES6 版本,并且也许他们的升级脚本不执行此步骤。
vue.config.js
module.exports = {
"transpileDependencies": [
"vuetify"
],}
这相当于 webpack
build: {
transpile: ['vuetify']
}
重新启动构建并重新加载。
当然,您需要找到它是哪个软件包 - 这只是一个示例。我只是在错误堆栈中进行挖掘,直到找到属于 Vuetify 的内容。
我已将节点版本从 v14.17.3 更新到 v21.6.2,如快速入门指南中所示
先决条件如下
如果您想从 CLI 更新节点,请参阅: https://stackoverflow.com/a/8191466/23469300
希望这也适合您。