Vue2迁移至Vue3时出现'SyntaxError: Unexpected token 'export''问题求助
解决Vue2迁移Vue3时setPublicPath.js的SyntaxError问题
这个报错是因为setPublicPath.js使用了ES模块的export语法,但当前构建环境没有对该文件进行转译,导致无法解析。以下是无需修改node_modules的解决方案:
升级@vue/cli-service到适配Vue3的版本
Vue3要求搭配@vue/cli-service 5.x版本,若你仍在使用Vue2时期的4.x版本,极易出现这类兼容问题。执行命令升级:npm update @vue/cli-service --save-dev # 或使用yarn yarn upgrade @vue/cli-service --dev配置Babel转译目标模块
在项目根目录的vue.config.js中添加transpileDependencies,指定让Babel处理@vue/cli-service模块:module.exports = { transpileDependencies: ['@vue/cli-service'] }该配置会让webpack对指定模块进行Babel转译,从而解析其中的ES语法。
自定义webpack规则单独处理该文件
若上述方法无效,可在vue.config.js中添加webpack规则,用babel-loader专门处理报错文件:module.exports = { configureWebpack: { module: { rules: [ { test: /setPublicPath\.js$/, include: /node_modules\/@vue\/cli-service\/lib\/commands\/build/, loader: 'babel-loader' } ] } } }
内容的提问来源于stack exchange,提问作者geekHe
相关产品推荐
相关产品推荐

