Nodejs-npm run (npm run-script)命令的传参数

Nodejs中,单独运行 run 命令时,有时候需要传参数。

方法

例,在 package.json 中有以下的记述

"scripts": {
		"start": "babel-node src/server.js",
		"cli-client": "babel-node src/cli-client/index.js"
	},

在 index.js 中 通过 使用模块- argparse 扩展了参数的传递

const parser = new argparse.ArgumentParser({
  version: '1.0.0',
  description: 'CLI client for Socket.IO.'
});
parser.addArgument(
    ['-i', '--interval'], {
      help: 'Time interval for sending message in seconds.',
      defaultValue: 10,
      type: 'int'
    }
  );
  parser.addArgument(
    ['-n', '--num-thread'], {
      help: 'Number of threads for sending messages.',
      defaultValue: 1,
      type: 'int'
    }
  );
  parser.addArgument('target', {
    metavar: 'TARGET',
    nargs: 1,
    help: 'URL of Socket.IO server.'
  });
const args = parser.parseArgs();

那么,在调用时,使用的方法是

npm run cli-client http://localhost:8081/ws

cli-client 之后的部分直接作为文字列传递进去。

问题

如果想改变 num-thread 的缺省值,也就是也将其作为参数传递的话怎么办?

解决

npm run cli-client -- -n 2 http://localhost:8081/ws

需要附加 – 才可以。

?调查资料?

  • npmはgetoptという仕組みを使って、コマンドラインに渡される文字列を解析している
  • getoptは --記号より後ろの部分は、1つの文字列として解釈する
  • npmはこの仕組みを利用して --記号の後の文字列を取り出し、npm
    scriptの後ろに渡している
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值