簡體   English   中英

用於CLI應用程序的node.js javascript

[英]node.js javascript for cli apps

根據這個問題:

node.js圖像壓縮

我試圖在代碼中的node.js中運行粉碎機

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

謝謝。

Pulverizr是一個與其他模塊一樣的節點模塊,因此,一旦安裝它,便像往常一樣“需要”該模塊。 命令行部分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命令?

參見http://nodejs.org/api/child_process.html

它不像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運行代碼?

有幾個用於執行此操作的模塊。 我一直在使用commander.js ,盡管對於我最大的CLI項目,我已經大大擴展了commander.js邏輯(請參閱下一個答案)。

如何從命令行使用Javascript

請參閱underscore-cli-我寫的是這個,所以我有點偏頗,但這是一個非常強大的工具,可以從命令行輕松訪問Javascript功能。 簡介涵蓋了為什么開箱即用的Node.js確實對於命令行工作來說太可怕了,以及為什么我的工具使它變得更加容易。 我已經做了很多工作來完善該工具並提供出色的文檔。 它仍在積極開發中,因此如果您想查看任何新功能,請提交github問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM