如何使用 express 路由器
在前面的示例中,我们把所有路由代码都写入到一个文件中 App.js。但在现实场景中,我们必须把这个代码划分到多个文件中。
我们可以创建单独的文件并将它们导入,但是 express 提供了一个易于使用的路由机制。
创建一个名为 route.js 的单独文件(名称可以是任何东西)
使用 express 创建路由 −
const express = require('express');
const router = express.Router();导出路由 −
module.exports = router;
添加路由函数 −
router.get('/add-username', (req, res,next)=>{
res.send('<form action="/post-username" method="POST"> <input type="text" name="username"> <button type="submit"> Send </button> </form>');
});
router.post('/post-username', (req, res, next)=>{
console.log('data: ', req.body.username);
res.redirect('/');
});类似于我们在 App.js 中用于创建路径的函数,我们使用了 router 。
将路由导入到 App.js 文件 −
const route = require('./routes');在 App.js 文件中添加一个中间件来使用路由。
app.use(route);
更改后,完整的 App.js 文件为 −
const http = require('http');
const express = require('express');
const bodyParser = require('body-parser');
const route = require('./routes');
const app = express();
app.use(bodyParser.urlencoded({extended: false}));
app.use(route); app.use('/', (req, res,next)=>{
res.send('<h1> first midleware: Hello Tutorials Point </h1>');
});
const server = http.createServer(app);
server.listen(3000);route.js
const express = require('express');
const router = express.Router();
router.get('/add-username', (req, res,next)=>{
res.send('<form action="/post-username" method="POST"> <input type="text" name="username"> <button type="submit"> Send </button> </form>');
});
router.post('/post-username', (req, res, next)=>{
console.log('data: ', req.body.username);
res.redirect('/');
});
module.exports = router;如果 App.js 中存在 url 处理,则应将路由中间件置于它之前。因为在 App.js 文件中,代码执行是从上到下进行的。
如果需要任何其他路由器,我们可以创建类似于 routes.js 的单独文件,并将其连同另一个中间件导入 App.js 中,以使用该路由器。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP