2014-11-03 43 views
0

我有兩個Express JS應用程序,我想爲其中一個添加一個路由,所以當請求此鏈接時,它將轉到子應用程序。那可能嗎??將一個快速js應用程序鏈接到另一個

實施例:

的主要應用通過連桿www.linktoapp.com訪問並且它將被寫入快速JS。

現在,我已經開發了另一種快速JS應用程序,我想通過鏈接www.linktoapp.com/secondapp

我的問題是我可以在主應用程序中添加這條路線(/ sceondapp)來訪問它,所以我可以像我說的那樣訪問它?

謝謝。

+0

你能提供寫道:更多關於你想要做什麼以及你的案例的信息。 – majidarif 2014-11-03 10:33:36

+0

Thanx @majidarif我編輯了這個問題並添加了一個例子。 – Sami 2014-11-03 10:53:34

回答

0

你的問題有點混亂!我從你的問題中瞭解到:

你有兩個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"); 
}); 
+0

問題是兩個應用程序分別開發,但現在我需要將其中一個添加到另一個。 – Sami 2014-11-03 11:17:35

+0

所以最新的問題運行在一個端口上的第一個應用程序,並在不同的端口上運行第二個應用程序,並使用絕對鏈接鏈接這些應用程序。但請記住,除非您的第二個應用程序用作代理,否則您不能在生產中使用此功能。因爲兩個應用程序無法聽到同一個端口,即80 – manas 2014-11-03 11:34:02

+0

我可以像使用路由一樣使用它嗎? 即 'app2 = require('./app'); app1.use('/ secondapp',app2);' – Sami 2014-11-03 13:09:38

0

你需要的是建立一個快速的子應用程序。 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

相關問題