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

Node项目启动命令参数获取

时间:2023-04-03 15:41:38 Node.js

在日常开发中,经常会遇到这样的场景,比如生产环境和测试环境的数据库地址不一样。这时候就需要构建一个程序,可以根据不同的场景配置不同的变量。{"name":"koahello","version":"0.0.1","description":"koahelloworld","main":"index.js","scripts":{"dev":"nodeapp.js","test":"NODE_ENV=testecho\"Error:notestspecified\"&&exit1"},"author":"hy","license":"ISC","devDependencies":{"koa":"^2.2.0","minimist":"^1.2.0"}}在上面的node项目中,如何在node程序启动时添加自定义参数,执行cnpmrundev启动项目,得到那些参数?下面介绍两种方法:方法一:nodeapp.jsarg1arg2arg3,获取app.js后的三个参数,可以使用process.argv获取。//process是一个全局对象,argv返回一组包含命令行参数的数组varargs=process.argv.splice(2)console.log(args);output:['arg1','arg2','arg3']方法二:可以通过工具minimist实现。安装minimistinstall--save-devminimist在package.json中添加自定义参数"scripts":{"dev":"nodeapp.js--param1param1--param2param1","test":"NODE_ENV=testecho\"Error:notestspecified\"&&exit1"},程序加载时获取参数,执行cnpmrundevvarminimist=require('minimist');varargs=minimist(process.argv.slice(2));console.log(args.param1);console.log(args.param2);