从零开始Node.js—07Express服务器搭建

之前在《从零开始Node.js—03服务器搭建》中介绍了基于Node.js内置模块http进行服务器搭建的方法。
但由于http使用起来不够方便,所以有人将其封装成了第三方模块express, 用起来简单,效率max!
果然程序员就是喜欢偷懒

文章目录

  • 一、express介绍
    • 是什么
    • 什么用
  • 二、express使用
    • ① 引入express
    • ② 创建服务器
    • ③ 监听get/post请求
    • ④ 挂载静态资源
    • ⑤ 启动服务器
  • 三、总结
  • 四、代码
  • 五、软件推荐

一、express介绍

是什么

可用于创建web服务器的第三方库
本质上是对node内置的http模块进行了封装,express之于http,相当于jQuery之于浏览器DOM

什么用

创建web网络服务器
创建API接口服务器

二、express使用

安装express,在终端运行

npm install express  // 安装最新版本
npm install [email protected] //指定了安装的版本

使用express,创建一个index.js

① 引入express

const express = require('express');

② 创建服务器

const app = express();

③ 监听get/post请求

采用方法app.get( url, 回调函数(req, res) => {})app.post( url, 回调函数(req, res) => {})
注意:url不包括域名和端口号,是端口号后面的部分
req.search默认是个空对象,获取的是url中?后面的部分
req.params默认是个空对象,键为在url中写的动态变量名字,值为url传来的动态变量对应位置的值
注意:url中没有数字,通通都是字符串
注意:get和post是http请求的方法,url是请求的地址,两码事

// url=localhost/222?name=zs&age=18
app.get( '/:id', (req, res) => {
	// 请求
	req.query //查询字段 {name:'zs', age: '18'}
	req.params //:标识动态变量 {id: '222'}
   
   // 响应
   res.send();
})

app.post( '/:id', (req, res) => {
	// 请求
	req.query //查询字段 {name:'zs', age: '18'}
	req.params //:标识动态变量 {id: '222'}
   
   // 响应
   res.send();
})

④ 挂载静态资源

express.static('./public')
将index.js文件夹下的public文件夹下的所有内容挂载出去
比如文件夹中有1.txt,则可通过http://127.0.0.1/1.txt访问到1.txt中的内容
注意:public文件夹的名字不会出现在路径中。

app.use(express.static('./public'));

不过可以通过设置第一个参数将public也添加到路径中,可以给它起个别名

app.use('/public', express.static('./public')); // http://localhost/public/1.txt
app.use('/p1', express.static('./public')); // http://localhost/p1/1.txt

暴露多个静态资源
若重名,以先出现的为准(先找到,先返回

app.use('/public', express.static('./public'));
app.use('/clock', express.static('./clock')); 

⑤ 启动服务器

app.listen( 80, ()=>{
	console.log('express server is running at http://127.0.0.1')
})

三、总结

服务器启动:开始listen——》IP:端口
听到不同的事件,采用不同的回调函数

从零开始Node.js—07Express服务器搭建_第1张图片

四、代码

// index.js文件

// 1 引入express
const express = require('express');

//2 创建服务器
const app = express();

// 3 监听get/post请求
// url=localhost/222?name=zs&age=18
app.get( '/:id', (req, res) => {
	// 请求
	req.query //查询字段 {name:'zs', age: '18'}
	req.params //:标识动态变量 {id: '222'}
   
   // 响应
   res.send();
})

app.post( '/:id', (req, res) => {
	// 请求
	req.query //查询字段 {name:'zs', age: '18'}
	req.params //:标识动态变量 {id: '222'}
   
   // 响应
   res.send();
})

// 4 挂载静态资源
app.use(express.static('./public'));
app.use('/clock', express.static('./clock'));

// 5 启动服务器
app.listen( 80, ()=>{
	console.log('express server is running at http://127.0.0.1')
})

五、软件推荐

get请求可以直接浏览器发送,post请求就需要用软件模拟了
推荐apipost6,界面友好,主要是免费免费免费
postman要花钱

你可能感兴趣的:(从零开始Node.js,node.js,javascript,前端,服务器)