我知道如何使用以下方式在JS中检索命令行参数:
`Config.getTestArgs = () => {
try {
return global.commandLineArgs.args["test-args"];
}
catch (e) {
logger.error(`Error reading test - args from command line: ${ e } `);
return null;
}
};`
当我在Typescript中使用同样的方法时,我得到一个错误Cannot find module- global
如果我传递我的输入像
`--build --test-args TestArument1`
getTestArgs
应该返回TestArgument1作为输出。
假设我们有自己的构建系统,它使用了nodeJs和Typescript。我应该考虑哪些nodeJS依赖项?
1条答案
按热度按时间2hh7jdfx1#
在Typescript和Node.js中,通常有几种方法可以检索命令行参数。您可以使用内置的
process.argv
属性,该属性返回一个数组,其中包含启动Node.js进程时传递的命令行参数。由于前两个参数几乎总是node
和path/to/script.js
,因此通常用作process.argv.slice(2)
。示例:
另一种可能更好的方法是使用经过测试的库来解析命令行参数。流行的选项包括:
Minimist:用于最小参数解析。
Commander.js:参数解析最常用的模块。
Meow:Commander.js的更轻量级的替代方案
Yargs:更复杂的参数解析(重)。
Vorpal.js:具有参数解析的成熟/交互式命令行应用程序。
对于你的情况极简主义可能是最好的解决方案。
node script.js --build --test-args TestArgument1
看起来像这样: