我想创建一个具有以下结构的网站:
--mysite.com
--mainserver.js
-----mysite.com/project1
-----server.js
-----mysite.com/project2
-----server.js
在每个项目文件夹中,我想运行一个单独的节点应用程序。我试图使用vhost模块执行此操作。 在我的mainserver.js中,我有这个测试:
var express = require("express");
var app = express();
var router = express.Router();
var vhost = require('vhost');
var app2 = express();
app2.get('/', function(req, res) {
res.send("echo");
});
app.use(vhost('localhost/project1', app2));
app.get('/', function(req, res) {
res.send("hi");
});
var port = Number(process.env.PORT || 5000);
app.listen(port, function() {
//console.log("Listening on " + port);
});
导航到localhost:8000时,我看到" hi"。但是当我导航到localhost:8000 / project1时,我得到Cannot GET /test
...
请帮忙!
答案 0 :(得分:2)
我相信这正是你想要实现的目标。 (不使用vhost)
<强> PROJECT1 / index.js 强>
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
return res.send('project 1');
});
// Other routes specific to project 1 here
module.exports = router;
可以类似地设置Project2。
<强> server.js 强>
var express = require('express');
var app = express();
app.use('/project1', require('./project1'));
app.use('/project2', require('./project2'));
var port = Number(process.env.PORT || 5000);
app.listen(port);