菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
康利20221208node03
[打印本页]
作者:
智商不在服务区
时间:
2022-12-9 18:01
标题:
康利20221208node03
一、学习内容:
# 1. http协议
## 1.1 http协议概述
- 协议: 就是事先的一种约定、规则、规范、标准。(租房合同、工作合同)
- HTTP协议(HyperText Transfer Protocol ):超文本传输协议,客户端(==浏览器==)与Web服务器端之间的交互协议。当浏览器和服务器进行数据交换时,html文件、图片、CSS、JS等都是基于HTTP协议进行传输的
- HTTP协议有两个版本: 1.0 和 1.1,目前使用的基本都是1.1
- 特点:
- 通常是基于 B/S 结构软件的
- 无连接: 浏览器向服务器发送一次请求,服务器响应一次,链接即结束
- 无状态: 无记忆。 服务器不能记住哪个浏览器访问过
- HTTP协议主要分为两大部分:
- 请求: 访问服务器的任何一个文件都是一次请求
- 响应: 服务器处理请求,将结果返回给浏览器
## 1.2 请求协议/请求报文
请求报文分为3个部分: 请求行 请求头 请求体
- 请求行: 请求方式、请求URL地址、协议版本号
- 请求头: 主机域名和端口号,客户端(浏览器)的信息等
- 请求体: 发送给服务器的数据,get和post都会通过请求主体将数据发送给服务器
可以使用Chrome tools 或者 firebug 来查看请求和响应的信息(F12)
主要请求项:
- host: 主机名和端口号,80端口默认不显示
- accept:浏览器可接受的程序/文件类型
- accept-encoding: 浏览器可接受的压缩类型
- accept-language: 浏览器可接受的语言类型
- connection: keep-alive 持久化连接
# 2. npm 和 npm常用命令
## 2.1 什么是npm
npm (Node Packeage Manager): Node包管理器。是一个Node第三方模块(第三方包)管理工具,会随着node一起被安装。使用该工具能够简单方便的管理项目中所需要的第三方模块
官网:
www.npmjs.com
官网管理了所有第三方包,例如:jquery、art-template等,我们只要使用 npm 命令就能快速下载相关的包
# 3. express框架
## 3.1 什么是Express
Express 是一个保持最小规模的灵活的基于Node.js的Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。
- express 是一个能够搭建Web服务器的框架
- express 保留了 http模块 的基本API,也就是说使用 express 时也能使用 req 和 res 对象
- express 还额外封装了一些方法,能让我们更方便的搭建服务器
- express 提供了中间件功能,其他很多强大的第三方模块都是基于express开发的
req.url \ req.method \ req.headers
res.setHeader \ res.writeHeader \ res.write \ res.end
# 4. Express扩展
## 4.1 Express中使用art-template
在Express框架中不能直接使用art-template模板引擎,使用Express-art-template中间件来加载。
使用步骤:
1) 下载/安装
# express-art-template中间件,首先要安装art-template,再安装express-art-template
npm i art-template express-art-template
2) 在服务器文件中加载 express-art-template
const template = require('express-art-template');
3) 配置express调用的模板引擎
//设置模板引擎类型
//参数1: 模板文件的后缀,此处可以随意定义。 定义成什么,模板文件后缀就是什么。一般使用html即可
//参数2: 模板引擎对象
app.engine('html', template);
4) 渲染页面
将模板页和数据组装到一起 (渲染数据)
① 数据 : js对象
② 模板页: 输出数据的方法和之前一样
//render方法是express提供好的方法,不管我们使用什么模板引擎都能使用该方法渲染页面
//参数1: 模板文件路径
//参数2: 要渲染到页面的json数据
res.render(filepath, js);
5) 模板文件
模板文件的数据渲染方式和之前方式一样
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4