vite项目require语法兼容问题解决 require is not defined

vite项目不支持require语法问题解决 require is not defined Vite默认使用es6标准的 import 的导入方式,不支持require引入。默认有Vite自己的引入方式https://vitejs.cn/guide/asset...
但在在日常使用Vue3+Ts+Vite构建项目中,部分比较旧的三方插件中默认使用的是require引入(webpack构建可以使用),会出现require方法报错的兼容性问题 require is not defined 。
1. require和import导入区别

年份 出处 使用
require/exports 2009 CommonJS const lodash = require('lodash');
import/export 2015 ECMAScript2015(ES6) import lodash from 'lodash';
2. 解决方法
Vite 仓库社区生态 https://github.com/vitejs/awe...中有一个
插件 vite-plugin-require-transform。 插件自动转换import xxx from ''; 方法 引入
\
安装
yarn add -D vite-plugin-require-transform

或者
npm i vite-plugin-require-transform --save-dev

使用
// vite.config.ts配置import requireTransform from 'vite-plugin-require-transform'; plugins: [ // ... requireTransform({ fileRegex:/.ts$|.tsx$|.vue$/ //fileRegex:/.js$|.jsx$|.vue$/ }), ]

【vite项目require语法兼容问题解决 require is not defined】添加之后npm run build打包 npm run preview 预览无异常。

    推荐阅读