我刚刚设置了一个 NodeJS 服务器,并希望使用 Express 的 vhost 功能来轻松设置项目。我希望能够为新项目创建一个新目录,而无需经历创建新子域等的麻烦。
基本上,我希望能够访问位于 node.domain.com/project1
的项目 1 和位于 node.domain.com/project2
的项目 2。
我现在正在运行 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 上运行(但可以通过不同的子域访问)。
最佳答案
哦!我现在感觉很愚蠢,似乎我需要使用类似 forever 的东西,带有 w
标志。
关于node.js - NodeJS Express 虚拟主机和更新 app.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21830450/