我想使用 Deno 构建一个 CLI 应用程序,但是我找不到允许我不断提示用户进行交互的模块,类似于 Node.js 上的 REPL 模块的命令行应用程序
有什么建议么?
您可以使用它std/io
来构建一个 REPL。
import { readLines } from "https://deno.land/std@v0.52.0/io/bufio.ts";
async function read() {
// Listen to stdin input, once a new line is entered return
for await(const line of readLines(Deno.stdin)) {
console.log('Received', line)
return line;
}
}
console.log('Start typing');
while(true) {
await read()
}
您可以从这里构建、处理每一行、添加命令等等。
如果你只想要一条线,你可以这样做
import { readLines } from "https://raw.githubusercontent.com/denoland/deno/master/std/io/bufio.ts";
const word = (await readLines(Deno.stdin).next()).value.trim()
console.log(`You typed: ${word}`)
D:\WorkSpace\VSCode\deno-play>deno run -A main.ts
hello
You typed: hello
当前的 denoland lib 于 2020 年 6 月 19 日提交