在node.js中运行命令行模块方法

时间:2014-02-14 05:42:05

标签: node.js command-line module

我正在尝试从脚本内部运行component.io方法,但这不应该特定于component.io。

在正常情况下,在终端,我会写。 component install安装所有依赖项。

我尝试过不同的方法,但似乎无法工作(或显示任何输出)。

首先,我尝试将组件包含为模块

var componentIO = require('component');
componentIO.install();

不幸的是,当我这样做时,没有任何反应。

当我输出console.log(componentIO)时,它输出作为对象install: [function]的一部分,所以我想我正确地调用它。

我尝试的另一种方式是通过child_process

var cp = require('child_process');
var componentIO = cp.fork('component');
componentIO.send('install');

但同样,终端没有看到任何输出。

我是否采取了错误的机智来从节点内运行命令?

1 个答案:

答案 0 :(得分:1)

您可以使用component-installer模块安装组件。

var Installer  = require('component-installer');
var installer = new Installer(__dirname);

installer.on('package', function (pkg) {
  console.log('installing', pkg.name, pkg.version);
});

// arguments: (package name, package version)
installer.installPackage('matthewmueller/io', 'master');

console.log('Packaged installed.');