uni-app 使用require引入报ReferenceError: require is not defined
uni-app 使用require引入报ReferenceError: require is not defined
操作步骤:
- 引用require就会报错
预期结果:
- 能正常引用require
实际结果:
- require报错
bug描述:
- Vue2正常
- Vue3报错
附件

| 信息类别 | 信息内容 |
|---|---|
| 产品分类 | uniapp/H5 |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | Win11 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.3.2 |
| 浏览器平台 | Chrome |
| 浏览器版本 | 内置Web浏览器 |
| 项目创建方式 | HBuilderX |
更多关于uni-app 使用require引入报ReferenceError: require is not defined的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
除了这个版本,其他版本还出现这个问题么
更多关于uni-app 使用require引入报ReferenceError: require is not defined的实战教程也可以访问 https://www.itying.com/category-93-b0.html
Vite 踩坑 —— require is not defined
在 uni-app 项目中,require 在 Vue 3 环境下不可用是正常现象,因为 Vue 3 默认使用 ES 模块规范,而 require 是 CommonJS 语法。以下是解决方案:
1. 使用 ES 模块导入
将 require 替换为 import:
import moduleName from './path/to/module';
2. 动态导入(异步)
如需动态导入,使用 import():
import('./path/to/module').then(module => {
// 使用模块
});
3. 兼容性配置
若需保留 require,可在 vue.config.js 中配置:
// vue.config.js
module.exports = {
chainWebpack: config => {
config.node.set('global', true);
}
};

