欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Express学习笔记

程序员文章站 2022-06-01 09:17:18
...

express是基于nodejs的web开发框架,既可以快速的搭建网站,也可以创建api接口。

1、创建package.json

在项目目录下,可以通过npm init命令创建。

{
  "name": "hello-world",
  "description": "hello world test app",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": "4.x"
  }
}

主要是其中的dependencies属性,指定了express。

在该文件夹下运行 npm install 即可以安装express框架了。

2、创建服务端文件

var express = require('express');
var app = express();
app.get('/', function (req, res) {
  res.send('Hello world!');
});
app.listen(3000);

在终端运行 node 文件名 即可启动服务器
在浏览器中输入相应地址即可浏览。

app.get方法,用于指定不同访问路径所对应的回调函数,也即路由。

express本质是对node内置模块http的封装。

3、创建中间件

如下创建了两个中间件,

app.use(function(request, response, next) {
  console.log("In comes a " + request.method + " to " + request.url);
  next();
});

app.use(function(request, response) {
  response.writeHead(200, { "Content-Type": "text/plain" });
  response.end("Hello world!\n");
});

在处理每一个http请求时,express会先依次调用(和代码顺序有关)中间件,如果中间件中调用了next则将请求传递给下一个中间件,否则进行请求处理。

可以使用中间件进行路由的过滤等。

同时,可以对指定路径使用中间件,而不是所有的路径。如下:

app.use('/path', someMiddleware);

上面中的someMiddleware中间件,只对path路径的请求有效。

4、请求方法

app.get("/", function(request, response) {
  response.end("Welcome to the homepage!");
});

app.post("/about", function(request, response) {
  response.end("Welcome to the about page!");
});

除了常见的get、post,express还提供了put、delete等一些不常用的方法。

这些方法的第一个参数都是请求地址,除了绝对匹配外,express还支持模糊匹配

5、express的set方法

app.set("views", __dirname + "/views");

app.set("view engine", "jade");

使用set方法为系统变量views和view engine设置值。分别指定视图文件夹的位置和视图渲染的引擎。

6、response的常见方法

方法 说明
res.download() Prompt a file to be downloaded.
res.end End the response process.
res.json() Send a JSON response.
res.jsonp() Send a JSON response with JSONP support.
res.redirect() Redirect a request.
res.render() Render a view template.
res.send() Send a response of various types.
res.sendFile() Send a file as an octet stream.
res.sendStatus() Set the response status code and send its string representation as the response body.

参见方法说明

7、request的常用属性及方法

见官网说明

相关标签: express