将一个快速js应用程序链接到另一个
我有两个Express JS应用程序,我想为其中一个添加一个路由,所以当请求此链接时,它将转到子应用程序。那可能吗??将一个快速js应用程序链接到另一个
实施例:
的主要应用通过连杆www.linktoapp.com访问并且它将被写入快速JS。
现在,我已经开发了另一种快速JS应用程序,我想通过链接www.linktoapp.com/secondapp
我的问题是我可以在主应用程序中添加这条路线(/ sceondapp)来访问它,所以我可以像我说的那样访问它?
谢谢。
你的问题有点混乱!我从你的问题中了解到:
你有两个expressjs应用程序正在运行。两个应用程序无法在同一端口上运行。两个应用程序可以在两个不同的端口上运行。见下面的例子。
var express = require("express");
var app1 = express(); //created the first app
var app2 = express(); //created the second app
app1.get("/",function(req,res){
res.send("<html><body><a href='/sec'>go second app</a></body></html>");
// created a link to app2
});
app1.get("/sec",function(req,res){ // redirection to second app
res.redirect("http://localhost:3001/");
})
app2.get("/",function(req,res){
res.send("welcome to second app");
});
app2.listen(3001,function(){ // app2 is listening on port 3001
console.log("app two is listening on 30001 ")
});
app1.listen(3000,function(){ // app2 is listening on 3000
console.log("app1 is listening on 3000");
});
问题是两个应用程序分别开发,但现在我需要将其中一个添加到另一个。 – Sami 2014-11-03 11:17:35
所以最新的问题运行在一个端口上的第一个应用程序,并在不同的端口上运行第二个应用程序,并使用绝对链接链接这些应用程序。但请记住,除非您的第二个应用程序用作代理,否则您不能在生产中使用此功能。因为两个应用程序无法听到同一个端口,即80 – manas 2014-11-03 11:34:02
我可以像使用路由一样使用它吗? 即 'app2 = require('./app'); app1.use('/ secondapp',app2);' – Sami 2014-11-03 13:09:38
你需要的是建立一个快速的子应用程序。 Express子应用程序与主应用程序共享路线,视图,会话等。
例如,假设您希望一个节点应用程序s_app.js成为另一个应用程序p_app.js的子应用程序。
s_app.js
var express = require('express');
var app = module.express = express();
// set routes for userjs
app.get('/path_1', function(req, res){
// display path_1
});
p_app.js
var express = require('express');
var app = express();
var s_app = require('s_app'); // mount s_app.js
app.use(s_app);
// now p_app and s_app share routes, views, sessions, etc
如果您想了解更多的细节,看看教程我上how to build node.js sub-apps
你能提供写道:更多关于你想要做什么以及你的案例的信息。 – majidarif 2014-11-03 10:33:36
Thanx @majidarif我编辑了这个问题并添加了一个例子。 – Sami 2014-11-03 10:53:34