📜  express() 与 express.router() - Javascript (1)

📅  最后修改于: 2023-12-03 15:00:40.383000             🧑  作者: Mango

Express() 与 Express.Router() - Javascript

Express.js 是一个基于 Node.js 平台的开发框架,拥有完善的 Web 应用程序路由系统,可以快速地创建具有强大功能的 Web 应用程序。在 Express.js 中,有两种常用的路由方式:使用 express() 创建路由和使用 express.Router() 创建路由。

Express()

当你使用 express() 创建一个应用程序时,你实际上创建了一个 express 应用程序实例。你可以使用这个实例来定义路由、中间件、错误处理函数等等:

const express = require('express');
const app = express();

app.get('/', function(req, res) {
  res.send('Hello, World!');
});

app.listen(3000, function() {
  console.log('Server is listening on port 3000');
});

在上面的示例中,我们首先引入了 express,然后使用 express() 创建了一个应用程序实例。接着我们使用 app.get() 定义了一个路由,这个路由匹配 /,并在请求到来时发送 "Hello, World!" 到客户端。最后我们使用 app.listen() 启动了应用程序,监听来自前端的请求。

Express.Router()

使用 express.Router() 可以创建一个子级路由器,这个子级路由器可以拥有自己的路由、中间件和错误处理函数。子级路由器可以响应来自父级路由器的请求,也可以响应来自客户端的请求。下面是一个很简单的示例:

const express = require('express');
const app = express();
const router = express.Router();

router.get('/', function(req, res) {
  res.send('Hello, World from router!');
});

app.use('/', router);

app.listen(3000, function() {
  console.log('Server is listening on port 3000');
});

在上面的示例中,我们首先引入了 express 并创建了一个 express 应用程序实例和一个子级路由器实例。接着我们使用 router.get() 定义了一个路由,这个路由匹配 /,并在请求到来时发送 "Hello, World from router!" 到客户端。然后我们使用 app.use() 把子级路由器作为中间件添加到了主路由器上。最后我们使用 app.listen() 启动了应用程序,监听来自前端的请求。

总结

express()express.Router() 都是非常常用的路由方式,它们可以帮助我们快速创建 Web 应用程序。当我们需要创建一个简单的应用程序时,可以采用 express() 创建路由;当我们需要创建一个复杂的应用程序时,可以使用 express.Router() 创建子级路由器。两者可以配合使用,实现模块化开发。