能否为nodemon添加类似「rs」的自定义CLI命令?
nodemon支持自定义CLI命令,你可以通过两种常用方式实现需求
方法1:绑定自定义事件命令
你可以在项目根目录的nodemon.json配置文件,或者package.json的nodemon配置字段中,为nodemon的生命周期事件绑定自定义执行命令:
// nodemon.json 示例配置 { "events": { "start": "echo 应用启动成功,当前运行环境:development", "restart": "node ./scripts/after-restart.js", "crash": "echo 应用运行出错,请检查代码语法" } }
配置完成后,nodemon会在对应生命周期触发时自动执行你绑定的命令。
方法2:自定义控制台输入命令(类似原生rs重启命令)
如果要实现自定义输入触发的命令,可以通过监听标准输入流的方式扩展:
- 项目根目录新建启动脚本
dev.js:
const nodemon = require('nodemon'); const readline = require('readline'); // 填入你的Express应用配置 nodemon({ script: './app.js', ext: 'js json ejs' }); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); // 监听输入,匹配自定义命令 rl.on('line', (input) => { const command = input.trim(); // 示例自定义重启命令res,效果和原生rs一致 if (command === 'res') { console.log('自定义重启命令触发,正在重启服务...'); nodemon.restart(); } // 可扩展更多自定义命令,比如手动停止服务 if (command === 'stop') { console.log('正在停止开发服务...'); nodemon.emit('quit'); process.exit(0); } });
- 修改
package.json中的启动脚本:
{ "scripts": { "dev": "node dev.js" } }
之后运行npm run dev启动开发服务即可使用你自定义的CLI命令,原有nodemon的rs等原生命令也可以正常使用。
如果需要更复杂的CLI能力,也可以基于nodemon的插件系统开发自定义插件实现。
内容的提问来源于stack exchange,提问作者arsaviz
相关产品推荐
相关产品推荐

