JS 流行框架(二):Express

JS 流行框架(二):Express

Express 是一个基于 NodeJS 的 Web Server 开发框架,可以帮助我们省略绝大部分繁琐且无技术含量的步骤、快速地构建 Web 服务器

基本使用

在使用 Express 之前,必须先下载 express,示例如下:

npm install express --save

在 express 下载完成之后,就可以非常快速地创建一个服务器应用程序,示例如下:

// 1. 导入 express 模块
const express = require('express');

// 2. 创建 express 实例
const app = express();

// 利用 express 实例处理 get 请求
app.get('/express/get', (req, res, next) => {
   
   
  res.end('Hello Express!');
});

// 利用 express 实例处理 post 请求
app.post('/express/post', (req, res, next) => {
   
   
  res.end('Hello Express!');
});

// 3. 利用 express 实例监听端口
app.listen(3000, () => {
   
   
  console.log('Listen Success');  // Listen Success
});

上述示例中,express 实例的 get 方法专门用于响应客户端在某个特定路由下的 get 请求,在匹配到特定的路由之后,将执行相应的回调函数,系统将自动传入请求实例 req、响应实例 res 以及 next 方法,req 和 res 即为 NodeJS 中 http 模块下的相应实例,不过 Express 为它们添加了很多实用的方法,而 next 方法的作用将在之后介绍

网页

静态资源

示例如下:

// 利用 express 实例返回静态资源
app.use(express.static(path.join(__dirname, 'public')));

动态资源

示例如下:

// 利用 express 实例返回动态资源

/* 1. 告诉 express 动态资源存储在哪里 */
app.set('views', path.join(__dirname, 'views'));

/* 2. 告诉 express 动态资源利用哪一种模板引擎 */
app.set('view engine', 'ejs');

/* 3. 匹配路由,将渲染之后的动态资源返回 */
app.get('/', (req, res, next) => {
   
   
  res.render('login', {
   
   
    username: 'Reyn Morales',
    password: '1024'
  });
});

上述示例中,res 实例的 render 方法是 Express 为响应实例添加的方法,默认的 res 并没有此方法,通过 render 方法可以非常简单地渲染动态资源,此外,必须注意的是,动态资源的扩展名必须为模板引擎的名称,例如示例中通过 ejs 模板引擎渲染动态资源,那么动态资源的名称即为 login.ejs

路由

非模块化

通常情况下,通过 express 实例的 get 和 post 方法就实现相应的路由,示例如下:

// 利用 express 实例处理 get 请求
app.get('api/goods/list', (req, res, next) => {
   
   
  res.end('GET: api/goods/list');
});
app.get('api/user/info', (req, res, next) => {
   
   
  res.json({
   
   
    username: 'Reyn Morales',
    age: 21,
    gender: 'Male',
    method
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值