-1

我有2个应用程序我正在寻找添加到我的个人资料网站本身是一个快速的应用程序。如何在没有路由的情况下在Express上运行多个应用程序?

我想一个/projects线路,使得我们可以有下运行这些应用程序localhost/projects/app1localhost/projects/app2

我希望所有的子路径为每个应用程式在各自的路线 处理例如路线/projects/app1/signup后重定向成功POST到仪表板,但现在我需要确保这不会重定向到localhost/dashboard而是localhost/projects/app1/dashboard

我知道路由的,我也AMS上使用它应用1,即

var rank = require('./routes/ranks'); 
... 
var taxiRanks = new rank(); 
... 
app.get('/',taxiRanks.findNearbyRanks); 
app.get('/whereami',taxiRanks.getCurrentLocation) 
app.post('/location',taxiRanks.receiveLocation) 
app.post('/signup',taxiRanks.newUser) 

我想实现这样的事情

... 
var main_app = express() 
var app1 = require('./path/to/app1') 
var app2 = require('./path/to/app2') 
... 
main_app.get('/projects/app1' , app1()) 
main_app.get('/projects/app2' , app2()) 

回答

2

您可以使用快速的路由器API:

// app1.js 
const app1Routes = express.Router(); 

app1Routes 
    .use('/user', userRoutes) 
    .use('/activity', activityRoutes) 

module.exports = app1Routes; 


// app2.js 
const app2Routes = express.Router(); 

app2Routes 
    .use('/food', foodRoutes) 
    .use('/candy', candyRoutes) 

module.exports = app2Routes; 

// app.js 
const app1Routes = require('./app1.js'); 
const app2Routes = require('./app2.js'); 

app.use('/app1', app1Routes); 
app.use('/app2', app2Routes); 

,并在例如userRoutes,你可以宣布你的这样的路线:

const routes = express.Router(); 

routes.get('/:id', (req, res) => res.status(200).send({ id : 1, firstName : 'junk' })); 

routes.post('/', (req, res) => res.status(201).send({ msg : 'User created' })); 

module.exports = routes; 
+0

以及userRoutes,activityRoutes或foodRoutes中包含的内容? –

相关问题