使用vite编译vue3项目的时候报这个错,但是开发模式下能正常运行,试过很多方式都无济于事,最后在网上找到了解决办法,特此记录一下。
报错原因:引入的包中有高版本的es语法特性,而此语法在默认的目标环境中不可用。我引入的包是mqtt.js,其他包也是一样的解决方式。
解决办法:修改vite配置文件,指定目标环境。
1.修改vite.config.ts文件
export default defineConfig({
// ...
build: {
target: 'esnext',
},
optimizeDeps: {
esbuildOptions: {
target: 'esnext',
},
},
})
2.修改tsconfig.json文件
"compilerOptions": {
"target": "ES2020",
// ...
}
修改完成后build,可以顺利编译。