使用nodemon监听src文件夹,如何让所有js文件的console.log正常输出?
问题原因
- Node.js 运行时只会执行指定的入口文件以及入口文件显式依赖的模块代码,你当前项目中
hello.js、world.js没有被入口文件index.js引入,所以文件内的代码不会被执行,console.log自然无法输出。 - 你配置的
nodemon --watch src仅指定了监听src目录下的文件变动,未显式指定入口时会默认读取package.json的main字段,自动加载src/index.js作为唯一入口运行,不会主动执行src目录下的其他独立js文件。
解决方案
根据你的使用场景选择对应配置即可:
场景1:项目以index.js为入口,需要关联运行另外两个文件
直接在index.js开头引入另外两个js文件即可:
// index.js 开头新增引入代码 require('./hello.js') require('./world.js') console.log('index.js')
修改后重新执行npm run dev,即可看到三个文件的日志全部正常输出,修改src下任意js文件,nodemon都会自动重启加载最新代码。
场景2:需要独立运行src目录下所有js文件,不需要通过index.js关联
直接修改package.json中的dev脚本配置:
{ "scripts": { "dev": "nodemon --watch src --exec \"node src/*.js\"" } }
如果你使用Windows系统的cmd环境运行,可去掉双引号避免转义问题,脚本改为:
"dev": "nodemon --watch src --exec node src/*.js"
修改后重新执行npm run dev,即可一次性运行src下所有js文件,输出所有文件的日志。
内容的提问来源于stack exchange,提问作者user14691384
相关产品推荐
相关产品推荐

