Express和MEAN堆栈中的路由
我正在跟随一个在线实施的在线教程。 一切看起来不错。 除了涉及到路线。 我明白,路线需要在一个JavaScript文件(js扩展名)。 没关系,一个小的网站。 但随着请求数量的增长,我想把它们放在单独的文件中。 我在SOF中查找了如何在Javascript中包含文件。 这是不平凡的。 有没有人遇到过这个问题? 任何人可以评论?
谢谢
您可以使用express.Router()
来使用路由器中间件 。 这使您可以将您的路线分解成不同的文件。 在一个侧面说明,中间件是非常强大的,值得了解,它是Express的一个重要组成部分。
假设你有一个拥有/users
部分的应用程序。 您可以创build一个名为users.js
的单独路由文件,其中包含与您的/users
资源相关的所有路由。 然后,在您的主Express应用程序正在侦听的server.js
中,可以使用app.use()
将users.js
路由分配给/users
资源。
您可以拥有尽可能多的路由器,当Express决定使用哪条路由时,所有路由都会自上而下读取。
./routes/users.js
// Create an express router var router = require('express').Router(); // Define a route for GET / router.get('/', function(req, res) { res.status(200).send('Welcome to /users'); }); // make our router available for require() statements module.exports = router;
server.js
var express = require('express'); var app = express(); // Users routes var users = require('./routes/users'); // Tell our app to use the Users routes defined in ./routes/users.js app.use('/users', users); app.listen(process.env.PORT || 3000, function() { console.log('listening'); });