【发布时间】:2017-10-01 02:45:41
【问题描述】:
这是我的问题,我想创建一个自动运行测试的 CLI。如果没有 CLI,我可以使用 node 命令完美地运行所有内容:
node test.js
基本上,我想做与之前的命令完全相同的事情,所以我搜索了一种技术来做到这一点。我发现了这个:
#!/usr/bin/env node
'use strict';
const options = process.argv;
const { execFile } = require('child_process');
const child = execFile('node', ['../dist/test.js'], (error, stdout, stderr) => {
if (error) {
throw error;
}
console.log(stdout);
});
此方法对我不起作用,因为在 test.js 文件中,我使用的是 ora 包。而且因为这个包是制作实时动画的,所以stdout没有进来。
有没有什么方法可以使用 Node 实时(无子进程)执行我的 test.js?我对其他方法持开放态度,但我想在 NPM 上发布 CLI,所以请记住它必须在 JavaScript 中????。
您可以在GitHub 上找到我在这里讨论过的每个文件。通常,您不需要此链接,但如果您需要仔细查看,我会将其提供给您。
【问题讨论】:
标签: javascript node.js asynchronous command-line-interface