在 Nuxt 1.4 项目中获得上述语法错误。
这种情况在Safari 9上发生,同样适用于Chrome。
我在SO上搜索并发现问题是由于ES6代码的浏览器兼容性问题,但无法找到问题的正确解决方案(Nuxt项目)。
该网站也应该适用于旧版本的浏览器。
以下是nuxt.config.js和package.json文件详细信息
- nuxt.config.js
醇>
module.exports = {
/*
** Build configuration
*/
build: {
/*
** Run ESLint on save
*/
extend (config, { isDev, isClient }) {
if (isDev && isClient) {
config.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/
})
}
},
vendor: ['babel-polyfill']
}
}
- 的package.json
醇>
{
"dependencies": {
"axios": "^0.18.0",
"babel-polyfill": "^6.26.0",
"nuxt": "^1.4.0",
"vee-validate": "^2.0.5",
"vue-carousel": "^0.6.5",
"vue-i18n": "^7.4.2",
"vue-smooth-scroll": "^1.0.13",
"vue-tabs-component": "^1.4.0",
"vue-youtube-embed": "^2.1.3",
"vue2-google-maps": "^0.8.8"
},
"devDependencies": {
"ava": "^0.25.0",
"babel-eslint": "^8.2.1",
"eslint": "^4.17.0",
"eslint-config-standard": "^11.0.0-beta.0",
"eslint-friendly-formatter": "^3.0.0",
"eslint-loader": "^1.7.1",
"eslint-plugin-html": "^4.0.2",
"eslint-plugin-import": "^2.8.0",
"eslint-plugin-node": "^6.0.0",
"eslint-plugin-promise": "^3.6.0",
"eslint-plugin-standard": "^3.0.1",
"eslint-plugin-vue": "^4.0.0",
"jsdom": "^11.6.2"
},
"babel": {
"presets": [
"es2015"
]
}
}
答案 0 :(得分:2)
您应该使用Babel将代码编译为常规es5或es6代码,具体取决于您要查找的兼容性。
在Nuxt中,您可以在babel
中使用nuxt.config.js
选项来处理编译。
请在此处查看babel
选项的文档:https://nuxtjs.org/api/configuration-build#babel
如果您从Nuxt内部收到错误,则应考虑升级到nuxt-edge
以获得旧版支持。