【问题标题】:How to run two programs in node js如何在node js中运行两个程序
【发布时间】:2016-01-17 11:46:00
【问题描述】:

我正在学习 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'));
});

【问题讨论】:

    标签: node.js socket.io chat


    【解决方案1】:

    在满足登录条件后,您需要为此 fork child_process,如下所示

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

    fork 有多种参数可以使用,例如何时退出子进程等。请参阅documentation 了解相关信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      • 2017-01-22
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 2021-07-17
      相关资源
      最近更新 更多