Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于cli应用程序的node.js javascript_Javascript_Node.js_Command Line Interface - Fatal编程技术网

用于cli应用程序的node.js javascript

用于cli应用程序的node.js javascript,javascript,node.js,command-line-interface,Javascript,Node.js,Command Line Interface,根据这一问题: 我正在尝试在node.js中运行代码 如何在node.js中使用命令行命令 谢谢。与其他模块一样,磨煤机也是一个节点模块,因此,一旦安装了它,您将像往常一样“需要”该模块。命令行部分cli.js并不特殊。它所做的只是解析命令行参数,然后“需要”标准模块文件并调用“compress”方法 var pulverizr = require('pulverizr'); var options = { dry: false, // dryrun test quie

根据这一问题:

我正在尝试在node.js中运行代码

如何在node.js中使用命令行命令


谢谢。

与其他模块一样,磨煤机也是一个节点模块,因此,一旦安装了它,您将像往常一样“需要”该模块。命令行部分cli.js并不特殊。它所做的只是解析命令行参数,然后“需要”标准模块文件并调用“compress”方法

var pulverizr = require('pulverizr');
var options = {
  dry: false,       // dryrun test  
  quiet: false,     // force quiet run
  recursive: false, // Run recursively
  verbose: false    // Run verbosely
};
var inputs = [ 'somefilename.jpeg', 'secondfilename.png' ];

var job = pulverizr.compress(inputs, options);

除此之外我不知道,你得去看看。“选项”是可选的。

你的问题措辞有点混乱。你可以问三件事中的一件

如何从Node.js程序内部调用shell命令? 看

它不像PERL那样轻量级,但Node对这一点有很好的支持:

var exec = require('child_process').exec,
  child = exec('cat *.js bad_file | wc -l',
  function (error, stdout, stderr) {
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if (error !== null) {
      console.log('exec error: ' + error);
    }
});
要获得对stdin/stdout的更多控制,请查看exec构建的“spawn”函数

如何从命令行/parse args/etc运行代码? 有几个模块可以实现这一点。不过,对于我最大的CLI项目,我一直在使用commander.js逻辑(见下一个答案)

如何从命令行使用Javascript 看,我写了这个,所以我有点偏见,但它是一个非常强大的工具,可以从命令行轻松访问Javascript功能。本文介绍了为什么开箱即用的Node.js对于命令行工作来说非常糟糕,以及为什么我的工具让它变得更简单。我花了大量的精力打磨这个工具,并为它提供了优秀的文档。它仍在积极开发中,所以如果您想看到任何新功能,请提交github问题