You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Node.js脚本添加自定义运行参数(间隔/时长)?

实现方案

要实现通过命令行指定打印间隔和停止时长,你可以按以下步骤修改脚本:

1. 移除HTTP服务相关代码

原脚本绑定了Express的HTTP服务逻辑,现在改为纯命令行脚本,不需要app.get和app.listen部分。

2. 解析命令行参数

这里提供两种实现方式,按需选择:

方式一:手动解析内置process.argv

无需额外依赖,直接用Node.js原生API处理参数:

// 从命令行参数中提取有效部分(跳过前两个node和脚本路径)
const args = process.argv.slice(2);
// 设置默认值:默认间隔1000毫秒,默认4000毫秒后停止
let intervalMs = 1000;
let timeoutMs = 4000;

// 遍历参数匹配-i和-t选项
for (let i = 0; i < args.length; i++) {
  if (args[i] === '-i' && args[i+1]) {
    intervalMs = parseInt(args[i+1], 10);
    i++; // 跳过已处理的参数值
  } else if (args[i] === '-t' && args[i+1]) {
    timeoutMs = parseInt(args[i+1], 10);
    i++;
  }
}

// 打印逻辑
function outputText() {
  console.log("Some Text");
}

// 启动定时打印并设置停止定时器
const interval = setInterval(outputText, intervalMs);
setTimeout(() => {
  clearInterval(interval);
  console.log('打印已停止');
}, timeoutMs);

方式二:使用minimist库(更简洁)

先安装依赖:

npm install minimist

再编写脚本:

const argv = require('minimist')(process.argv.slice(2));

// 获取命令行参数,未传入则使用默认值
const intervalMs = argv.i || 1000;
const timeoutMs = argv.t || 4000;

function outputText() {
  console.log("Some Text");
}

const interval = setInterval(outputText, intervalMs);
setTimeout(() => {
  clearInterval(interval);
  console.log('打印已停止');
}, timeoutMs);

3. 运行脚本

按照你要求的格式执行命令即可:

node index.js -i 1000 -t 4000

若省略参数,脚本会使用默认的1秒打印间隔、4秒后停止的配置。

内容的提问来源于stack exchange,提问作者max_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:15:27