本质原因是因为浏览器不识别commonJS的语法,需要通过插件做转换
解决方法:
方法1、项目代码中使用了require语法,使用这个插件便可以转换
npm i vite-plugin-require-transform -D
import requireTransform from 'vite-plugin-require-transform';
export default defineConfig({
plugins: [
requireTransform({
fileRegex: /.js$|.vue$/
})
]
})
方法2、本身项目没有使用require语法或者使用过方法1,那就是第三方包内部用了require语法
npm i vite-plugin-commonjs -S
import commonjs from 'vite-plugin-commonjs';
export default defineConfig({
plugins: [ commonjs()],
build: {
commonjsOptions: {
transformMixedEsModules: true
}
}
})