node.js - Express 和 MEAN 堆栈中的路由

标签 node.js express mean-stack

我正在学习在 MEAN 中实现的在线教程。一切看起来都很棒。除非涉及路线。我知道路由需要位于 javascript 文件(js 扩展名)中。一个小网站就可以了。但随着请求数量的增加,我想将它们放在单独的文件中。我在 SOF 中查找了如何在 Javascript 中包含文件。这并不平凡。以前有人遇到过这个问题吗?谁能评论一下吗?

谢谢

最佳答案

您可以使用Router Middleware通过使用express.Router() 。这允许您将路线分成不同的文件。顺便说一句,中间件非常强大,值得学习,它是 Express 的重要组成部分。

假设您有一个具有 /users 的应用程序部分。您可以创建一个名为 users.js 的单独路由文件。包含与您的 /users 相关的所有路由资源。然后在你的server.js里面在您的主 Express 应用程序正在监听的地方,您可以分配 users.js路线到 /users资源使用 app.use()

您可以拥有任意数量的路由器,当 Express 决定使用哪条路由时,所有路由都会从上到下读取。

./routes/user.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');
});

关于node.js - Express 和 MEAN 堆栈中的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35876747/

相关文章:

javascript - 如何发送 res.render 字符串参数并将其呈现为 HTML?

node.js - 如何将 socket.io 与最新的 mean.io 一起使用?

angularjs - 直接在前端自动更新 mongodb 中的更改,无需使用 Node Socket.io 和 angularjs 刷新页面

javascript - Route.delete() 需要一个回调函数,但得到一个 [object Undefined]

javascript - Node.js 使用 Socket.io 和 Http 从 Express 读取发布数据

javascript - express 或 express 发电机 : do i need both?

javascript - Facebook 图表所有共同的 friend

javascript - Jest 不加载环境变量(即使使用 --setupFiles dotenv/config)

javascript - Nodejs 将值从一个模块传递到另一个模块

javascript - 如何将对象从 EJS 传递到 Node.js 路由器 - Javascript、EJS、Node.js、MySQL