本质原因是因为浏览器不识别commonJS的语法,需要通过插件做转换
解决方法:
方法1:项目代码中使用了require语法,使用这个插件便可以转换 npm i vite-plugin-commonjs -S
// vite.config.js
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
// vite.config.js
import commonjs from 'vite-plugin-commonjs';
export default defineConfig({
plugins: [ commonjs()],
build: {
commonjsOptions: {
transformMixedEsModules: true
}
}
})