Nuxt-i18n在IE文档模式11中失效,抛出SCRIPT1006: Expected ')'错误
解决nuxt-i18n在IE11下的SCRIPT1006: Expected ')'错误
这个错误是IE11不支持ES6+语法导致的,nuxt-i18n及其依赖中可能包含未被转译的现代JS代码,以下是具体修复方案:
配置Nuxt的transpile选项
在nuxt.config.js中添加需要转译的依赖包,确保nuxt-i18n相关代码被转译为IE11兼容的ES5:export default { build: { transpile: ['nuxt-i18n', '@nuxtjs/i18n', 'vue-i18n'] } }检查babel目标环境配置
在项目的.babelrc或babel.config.js中明确指定IE11为目标环境,让babel针对性转译代码:{ "presets": [ ["@babel/preset-env", { "targets": { "ie": "11" }, "useBuiltIns": "usage", "corejs": 3 }] ] }补充必要的polyfill
如果上述配置后仍有兼容性问题,手动引入core-js提供的polyfill:
在nuxt.config.js的head字段中添加CDN引入:head: { script: [ { src: 'https://cdn.jsdelivr.net/npm/core-js-bundle@3.29.0/minified.js', body: true } ] }或者在项目入口文件中导入:
import 'core-js/stable' import 'regenerator-runtime/runtime'定位未转译的依赖
如果错误依然存在,查看IE11控制台提示的错误文件路径,找到对应的未转译依赖,将其添加到transpile列表中重新构建。
内容的提问来源于stack exchange,提问作者Bravo
相关产品推荐
相关产品推荐

