Uncaught ReferenceError: require未定义求助(Browserify无效)
解决「Uncaught ReferenceError: require is not defined」问题
首先得明确两个核心点:
fs是Node.js专属的文件系统模块,浏览器出于安全限制根本没有这个API,哪怕用Browserify打包也没法在浏览器里使用它。如果你的需求是在浏览器里处理文件,得用浏览器原生的File API,而非Node.js的fs模块。- 浏览器本身不支持Node.js的
require语法,Browserify的作用是把Node.js风格的模块打包成浏览器能识别的代码,但你得确保操作步骤正确。
正确使用Browserify的步骤(针对非fs类模块)
- 假设你的入口文件是
main.js,里面包含require调用 - 运行打包命令:
# 全局安装过Browserify直接执行 browserify main.js -o bundle.js # 局部安装的话用npx调用 npx browserify main.js -o bundle.js - 在HTML里仅引入打包后的
bundle.js,不要直接引入未打包的原文件:<script src="bundle.js"></script>
排查其他可能的问题
- 检查是否全局安装了Browserify:执行
browserify -v,若提示命令不存在,先全局安装:npm install -g browserify - 确认依赖都在
node_modules目录中,Browserify会自动解析整个依赖树 - 如果你用的是ES模块(
import/export)而非CommonJS(require),可以直接给HTML的script标签加type="module"属性,无需依赖Browserify:<script type="module" src="your-script.js"></script>
内容的提问来源于stack exchange,提问作者Mahmood
相关产品推荐
相关产品推荐

