Node.js运行app.js报错Uncaught ReferenceError: require未定义求助
解决Node.js中
require is not defined错误 你看到的Uncaught ReferenceError是浏览器环境的错误提示,这说明你的app.js代码被浏览器加载执行了,而非Node.js服务端进程在运行它——哪怕你确实执行了node app.js启动服务器。
常见原因和解决办法:
不要把服务端代码暴露给浏览器
确认你的前端HTML里没有用<script src="app.js"></script>这类标签引入服务端的app.js文件。服务端代码由Node.js单独执行,前端交互逻辑要写在单独的文件(比如client.js)里,两者完全分离。检查静态资源配置
如果你的Express服务器用了express.static中间件,比如:app.use(express.static(__dirname))而
app.js正好在这个静态目录下,当浏览器请求对应路径时,服务器会把app.js作为静态文件返回,导致浏览器执行它时触发require未定义的错误。解决办法是把静态资源放到单独的子目录(比如public),然后配置:const path = require('path') app.use(express.static(path.join(__dirname, 'public')))前端模块化需求别混在服务端代码里
如果你想在前端用模块化语法,别直接用服务端的require。可以用ES模块的import/export(给script标签加type="module"),或者用Webpack、Vite这类打包工具把前端代码转成浏览器兼容的格式。
内容的提问来源于stack exchange,提问作者Synced Together
相关产品推荐
相关产品推荐

