当前位置: 首页 > 后端技术 > Node.js

nodemon+cross-env+config实现支持热更新的能根据不同环境加载不同配置的nodejs环境

时间:2023-04-03 14:04:52 Node.js

nodemon+cross-env+config实现了热更新支持,可以根据不同的环境加载不同的nodejs环境配置,代码后无需手动重启服务器;使用npm的config模块实现不同的环境(一般是开发、生产、测试??);nodemon和config的使用这里就不详细介绍了。cross-env的作用是在脚本中修改NODE_ENV的值,不需要全局配置NODE_ENV,实现不同环境下proccess.env.NODE_ENV的差异,config的工作原理是根据NODE_ENV的值,所以建议两者结合使用。首先,使用三个工具组合后的配置文件。/package.json"scripts":{"dev":"nodemon./bin/www--execbabel-node--presetses2015,stage-2","start":"cross-envNODE_ENV=productionbabel-node./bin/www--presetses2015,stage-2"},"dependencies":{//...其他依赖"config":"^3.0.1","cross-env":"^5.2.0",//...其他依赖项},"devDependencies":{//...其他devDependencies"nodemon"/nodemon.json{"restartable":"rs","ignore":[".git","f2e","node_modules/**/node_modules"],"verbose":true,"execMap":{"js":"node--harmony"},"events":{"restart":"osascript-e'显示通知\"Apprestarteddueto:\n'$FILENAME'\"withtitle\"nodemon\"'"},"env":{"NODE_ENV":"develop"},"ext":"js,json"}nodemon的配置文件,可以在脚本中一一配置,也可以在上面的配置文件中配置。建议在配置文件中配置,清晰易管理。nodemon.json中与本文相关的配置是env->NODE_ENV配置项。它的值对应于node环境中proccess.env.NODE_ENV的值。执行npmrundev时,proccess.env.NODE_ENV对应nodemon配置文件中的值执行npmrunstart时,proccess.env.NODE_ENV对应cross-env设置的参数值