当前位置:
首页
文章
前端
详情

node接收命令行参数

一、通过修改package.json里的scripts命令

{
  "scripts": {
    "start": "node ./bin/www -e production",
    "dev": "node ./bin/www -e development"
  },
}

node接收参数方式:process.argv,可以辅助以 commander 来实现命令行参数处理

bin/www文件

const { Command } = require('commander');
const program = new Command();
program.version('1.0.0');
program.option('-e, --env <env>', 'environment - e.g. test development production');
program.parse();
global.env = program.opts().env;

var app = require('../app');
var debug = require('debug')('techshare:server');
var http = require('http');

开发环境

> npm run dev

生产环境

> npm start 

二、通过pm2命令行传递参数

--之后传递的所有选项都将作为参数传递给应用程序

开发环境

> pm2 start ./bin/www -- -e development

生产环境

> pm2 start ./bin/www --name test -- -e production

三、通过pm2启动文件

pm2.json

{
  "apps": [
    {
      "name": "test",
      "script": "./bin/www",
      "args": "-e production",
      "out_file": "./log/verbose.log",
      "error_file": "./log/error.log"
    }
  ]
}

PS:这里args参数不需要加--,pm2内部有处理

运行脚本

> pm2 start ./pm2.json

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。