如何将命令行参数传递给 Deno?

Ahm*_*mad 7 command-line-arguments cmdline-args deno

我有一个Deno应用程序,我希望将一些命令行参数传递给它。我搜索了手册,但一无所获。

我尝试使用 Node.js 中使用的相同命令,假设它们可能会为 std 库共享一些命令,但效果不佳。

var args = process.argv.slice(2); 
// Uncaught ReferenceError: process is not defined
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Mar*_*nde 11

您可以使用 访问参数Deno.args,它将包含传递给该脚本的参数数组。

// deno run args.js one two three

console.log(Deno.args); // ['one, 'two', 'three']
Run Code Online (Sandbox Code Playgroud)

如果您想解析这些参数,您可以使用std/flags,它将解析类似于minimist

import { parse } from "https://deno.land/std/flags/mod.ts";

console.log(parse(Deno.args))
Run Code Online (Sandbox Code Playgroud)

如果你用以下方式调用它:

deno run args.js -h 1 -w on
Run Code Online (Sandbox Code Playgroud)

你会得到

{ _: [], h: 1, w: "on" }
Run Code Online (Sandbox Code Playgroud)


Kha*_*umi 9

您可以使用Deno.args访问 Deno 中的命令行参数。

要尝试创建一个文件 test.ts :

console.log(Deno.args);
Run Code Online (Sandbox Code Playgroud)

并运行它 deno run test.ts firstArgument secondArgument

它将返回一个传递参数的数组:

$ deno run test.ts firstArgument secondArgument
[ "firstArgument", "secondArgument" ]
Run Code Online (Sandbox Code Playgroud)