修改package.json的type为common后require()仍无法使用的问题求助
解决require()无法正常工作的问题
- 首先纠正package.json的type字段:你写的
"type": "common"是错误的,正确值应该是"type": "commonjs"。Node.js只识别"commonjs"或"module"这两个有效值,设错的话会默认按ES模块处理,所以require()用不了。 - 检查代码文件扩展名:如果你的文件后缀是
.mjs,不管package.json怎么设置,Node.js都会把它当作ES模块,这时require()会报错。改成.js后缀即可。 - 确认package.json的位置:必须放在项目根目录,和你的入口代码文件(比如app.js)同级。如果放在子文件夹里,Node.js不会读取这个配置,依然用默认的模块规则。
- 重启终端/清除缓存:有时候Node.js会缓存模块加载的配置,修改package.json后关掉当前终端,重新打开再运行代码,避免缓存影响。
修改后的package.json示例:
{ "name": "your-project", "version": "1.0.0", "type": "commonjs", "dependencies": { "express": "^4.18.2" } }
内容的提问来源于stack exchange,提问作者Teef
相关产品推荐
相关产品推荐

