命令行那一节讲过,node 命令后跟一个脚本文件名,就会执行该脚本。
node 脚本就是 Node.js 的可执行文件。
在控制台中,可以使用 ctrl+c 退出程序。
在脚本文件中,则可以通过 process.exit()
方法退出程序。
当 node.js 执行到该方法时,进程会被立即强制终止,任何正在处理的任务都会被强制中断。
可以传入一个整数,表示退出码:
process.exit(1)
默认情况下,即程序执行完毕正常退出,退出码为 0
。这里可以通过非 0 的退出码表示特定的异常。
通过 process.env
可以获取所有的环境变量。
我们常用的环境变量 NODE_ENV,其默认存在,且默认值为 development
process.env.NODE_ENV # "development"
当然也可以修改环境变量:
process.env.NODE_ENV = "production"
在 node 中通过 process.argv
来获取传来的参数值,它返回一个数组。
第一个数组项是 node 命令的完整路径。
第二个数组项是被执行文件的完整路径。
从第三个数组项开始才是真正上面传递的参数值,所以获取参数值的方式是:
const args = process.argv.slice(2);console.log(args); // ['atg1','arg2']
如上所示,args 是参数集合,通过下标来获取参数。
但是下标对键值对的获取不太友好,可以借助 minimist
库获取参数。
如:传一个 name 参数,参数名前加双破折号:
node app.js --name=ruims
那么就可以这样获取参数值:
const mm = require('minimist');const args = mm(process.argv.slice(2));args['name']; //ruims
更强大的 node 命令行解决方案,可使用 commander
库。