如何运行节点js中的两个程序

How to run two programs in node js

我正在学习 Nodejs。我想在 URL 中 运行 两个脚本(一个是登录,另一个是聊天)。当我 运行 npm start 命令然后我的登录页面被打开并且当我 运行 node index.js 命令然后我的聊天应用程序工作。我希望我的聊天应用程序在登录后运行。所以我应该在哪里指定我的聊天索引,这样它才能工作。

我的app.js在这里

var http = require('http');
var express = require('express');
var session = require('express-session');
var bodyParser = require('body-parser');
var errorHandler = require('errorhandler');
var cookieParser = require('cookie-parser');
var MongoStore = require('connect-mongo')(session);
var routes = require('./routes/index');
var users = require('./routes/users');
var app = express();

app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/app/server/views');
app.set('view engine', 'jade');
app.use(cookieParser());
app.use(session({
secret: 'faeb4453e5d14fe6f6d04637f78077c76c73d1b4',
proxy: true,
resave: true,
saveUninitialized: true,
store: new MongoStore({ host: 'localhost', port: 27017, db: 'nodechat'})
 })
);
  app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(require('stylus').middleware({ src: __dirname + '/app/public'    }));
app.use(express.static(__dirname + '/app/public'));

require('./app/server/routes')(app);

if (app.get('env') == 'development') app.use(errorHandler());

http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});

你需要为此分叉child_process,满足你的登录条件后,像这样

var fork = require('child_process').fork;
var child = fork('node ./index.js');

fork 有多种参数可供使用,例如何时退出子进程等。请参阅 documentation