【发布时间】:2016-03-08 19:50:56
【问题描述】:
我正在关注在 MEAN 中实施的在线教程。一切看起来都很棒。除非涉及到路线。我了解路由需要位于 javascript 文件(js 扩展名)中。一个小的网站没关系。但随着请求数量的增加,我想将它们放在单独的文件中。我在 SOF 中查找了如何在 Javascript 中包含文件。这是不平凡的。有没有人遇到过这个问题?有人可以评论吗?
谢谢
【问题讨论】:
标签: node.js express mean-stack
我正在关注在 MEAN 中实施的在线教程。一切看起来都很棒。除非涉及到路线。我了解路由需要位于 javascript 文件(js 扩展名)中。一个小的网站没关系。但随着请求数量的增加,我想将它们放在单独的文件中。我在 SOF 中查找了如何在 Javascript 中包含文件。这是不平凡的。有没有人遇到过这个问题?有人可以评论吗?
谢谢
【问题讨论】:
标签: node.js express mean-stack
您可以通过使用express.Router() 来使用Router Middleware。这允许您将您的路线分成不同的文件。顺便说一句,中间件非常强大,值得学习,它是 Express 的重要组成部分。
假设您有一个包含/users 部分的应用。您可以创建一个名为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');
});
【讨论】: