📜  Express.js app.router 属性

📅  最后修改于: 2022-05-13 01:56:42.086000             🧑  作者: Mango

Express.js app.router 属性

Express.js app.router属性是在 Express 4 中引入的。它帮助我们创建模块化、可挂载的路由处理程序。它为我们提供了许多功能,例如扩展此路由以处理验证、处理 404 或其他错误等。它帮助我们为服务器端编程组织文件结构。

使用express.Router需要什么?

它可以帮助我们管理在服务器端项目中创建的数百条路由,方法是将它们分成单独的文件。它有助于基本的中间件路由和处理 404 错误。使用 express.Router,包含所有依赖项、文件、路由等的整个文件夹结构良好,任何人都易于理解。

快速模块的安装

运行npm init并创建 package.json 文件后,是时候安装我们的依赖项,即 Express。

1.您可以访问此链接并使用以下命令进行下载:

npm install express --save

2. 安装 express 后,您可以在命令提示符下使用以下命令查看您的 express 版本:

npm version express

3. 安装好需要的依赖后,使用终端创建一个app.js文件。为了运行此文件,您需要执行以下操作:

node app.js

项目目录:创建 app.js 后,创建一个名为routes的单独文件夹,如下所示:

这将是创建和安装文件和包之后的项目结构。在路由内部,将有两个文件,如下所示:

文件名:app.js

Javascript
// Requiring module
const express = require('express');
  
// Creating express object
const app=express();
  
// Middlewares
app.use(require('./routes/introduction.js'));
app.use(require('./routes/computer.js'));
  
// Server setup
app.listen(3000, function() { 
   console.log('Server listening on port 3000'); 
});


Javascript
// Requiring module
const express = require('express');
  
// Creating router object
const router = express.Router();
  
// Handling request
router.get('/introduction', (req,res) => {
  console.log('Opening introduction.js');
  res.send('Welcome to geeksforgeeks!');
});
  
// Exporting router object
module.exports = router;


Javascript
// Requiring module
const express = require('express');
  
// Creating router object
const router = express.Router();
  
// Handling request
router.get('/computer', (req,res) => {
  console.log('Opening computer.js');
  res.send('This is a computer science portal');
});
  
// Exporting router object
module.exports = router;


我们已经使用以下代码在我们的 app.js 文件中需要我们在路由中创建的两个文件,即computer.jsIntroduction.js

// Syntax
app.use(require('Filepath'))

// Implementation
app.use(require('./routes/introduction.js'));
app.use(require('./routes/computer.js'));

文件名:introduction.js

Javascript

// Requiring module
const express = require('express');
  
// Creating router object
const router = express.Router();
  
// Handling request
router.get('/introduction', (req,res) => {
  console.log('Opening introduction.js');
  res.send('Welcome to geeksforgeeks!');
});
  
// Exporting router object
module.exports = router;

文件名:computer.js

Javascript

// Requiring module
const express = require('express');
  
// Creating router object
const router = express.Router();
  
// Handling request
router.get('/computer', (req,res) => {
  console.log('Opening computer.js');
  res.send('This is a computer science portal');
});
  
// Exporting router object
module.exports = router;

使用以下命令运行app.js文件:

node app.js

输出:

Server listening on port 3000

现在打开浏览器并访问http://localhost:3000/introductionhttp://localhost:3000/computer,然后您将在终端屏幕上看到以下输出:

Server listening on port 3000
Opening introduction.js
Opening computer.js

工作:两条路由都已在浏览器中打开,因此console.log()打印成功打开路由的以下语句。在浏览器上,两条路由都会显示不同的输出,如下所示:

对于http://localhost:3000/introduction ,将显示以下输出:

Welcome to geeksforgeeks!

对于http://localhost:3000/computer ,将显示以下输出:

This is a computer science portal