【发布时间】:2014-03-16 19:55:03
【问题描述】:
我刚刚设置了一个 NodeJS 服务器,并希望使用 Express 的 vhost 功能来简化项目设置。我希望能够为新项目创建一个新目录,而无需经历创建新子域等的麻烦。
基本上,我希望能够通过node.domain.com/project1 联系project1 和node.domain.com/project2 联系project2。
我现在正在运行server.js,它位于根目录 (node.domain.com/server.js) 并包含:
var express = require('express');
var app = express();
app
.use(express.vhost('node.domain.com', require('./project1/app.js').app))
.use(express.vhost('node.domain.com', require('./project2/app.js').app))
.listen(3000);
一切正常,当我转到node.domain.com/project1 时,我得到./project1/app.js 的结果,但是每当我更改任何app.js 文件中的某些内容时,它都需要重新启动(Ctrl+C 后跟node server.js)让它更新更改。
而app.js的内容例如是:
var express = require('express');
var app = exports.app = express();
app.get('/project1', function(req, res){
res.send('Hello World [/project1]');
});
知道这是为什么吗?
需要注意的是,我也在同一台服务器上运行 Apache,并且我使用 this guide 允许两台服务器在端口 80 上运行(但可以通过不同的子域访问)。
【问题讨论】: