在使用NodeJS时,我可以像这样把参数传递给Node脚本。
$ node node-server.js arg1 arg2=arg2 -val arg3
并可以得到这样的参数。
// print process.argv
process.argv.forEach(function (val, index, array) {
console.log(index + ': ' + val);
});
//Output
0: node
1: /Users/umar/work/node/node-server.js
2: arg1
3: arg2=arg2-val
4: arg3
如何在Deno中获取命令行参数?
有专家建议我通过以下答案来解决这个问题 疑问
process.argv[0]
:Deno.execPath()
process.argv[1]
:Deno.mainModule
(不稳定)可用。另一种选择是 import.meta.url
:import.meta.url // put this in your main file to get its full path
您可以使用 path.fromFileUrl
用于将 URL 转换为路径字符串。import { fromFileUrl } from "https://deno.land/[email protected]/path/mod.ts";
const modPath = fromFileUrl(import.meta.url)
process.argv.slice(2)
:Deno.args
deno run --allow-read test.ts -foo -bar=baz 42
样品输出(Windows)。Deno.execPath(): <scoop path>\apps\deno\current\deno.exe
import.meta.url: file:///C:/path/to/project/test.ts
as path: C:\path\to\project\test.ts
Deno.args: [ "-foo", "-bar=baz", "42" ]
你可以使用 parse
从 flags
模块与 args
来解析应用程序中的命令行参数。
const { args } = Deno;
import { parse } from "https://deno.land/std/flags/mod.ts";
console.dir(parse(args));