如何从主node.js脚本运行多个node.js脚本?

Sag*_*ira 11 javascript jquery node.js

我对node.js完全不熟悉.我有两个我想运行的node.js脚本.我知道我可以单独运行它们但我想创建一个运行这两个脚本的node.js脚本.应该是主node.js脚本的代码?

Meh*_*ami 7

您需要做的就是使用node.js模块格式,并导出每个node.js脚本的模块定义,例如:

//module1.js
var colors = require('colors');

function module1() {
  console.log('module1 started doing its job!'.red);

  setInterval(function () {
    console.log(('module1 timer:' + new Date().getTime()).red);
  }, 2000);
}

module.exports = module1;
Run Code Online (Sandbox Code Playgroud)

//module2.js
var colors = require('colors');

function module2() {
  console.log('module2 started doing its job!'.blue);

  setTimeout(function () {

    setInterval(function () {
      console.log(('module2 timer:' + new Date().getTime()).blue);
    }, 2000);

  }, 1000);
}

module.exports = module2;
Run Code Online (Sandbox Code Playgroud)

代码中的setTimeoutsetInterval仅用于向您显示两者同时工作.第一个模块一旦被调用,就会每隔2秒开始在控制台中记录一些内容,而另一个模块先等待一秒,然后每隔2秒开始执行相同的操作.

我还使用了npm colors包来允许每个模块使用其特定颜色打印其输出(能够npm install colors在命令中首先运行它).在此示例中,module1打印red日志并module2打印其日志blue.所有这些只是为了向您展示如何轻松地在JavaScript和Java中实现并发性Node.js.

最后,从主Node.js脚本(这里命名)运行这两个模块index.js,您可以轻松地执行:

//index.js
var module1 = require('./module1'),
  module2 = require('./module2');

module1();
module2();
Run Code Online (Sandbox Code Playgroud)

并执行它:

node ./index.js
Run Code Online (Sandbox Code Playgroud)

然后你会得到一个输出:

在此输入图像描述