目录
1.Node.js=>Node 是运行环境,不是编程语言,可以运行js代码。
4-querystring 把urlencoded转换为对象
6.JSON(JavaScript Object Notation(JavaScript 对象表示法) )
10.yarn yarn 是 Facebook 开源的新的包管理器,可以用来代替 npm。
11.express 运行在node中的用来搭建服务器的模块(第三方模块 )
1.Node.js=>Node 是运行环境,不是编程语言,可以运行js代码。
2.单位换算:
1Bit 对应的是 1 个二进制位
8 Bit = 1 字节(Byte)
1024Byte =1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
3.node 的内置常量:
__dirname 文件所在文件夹的地址
__filename 文件的绝对地址
4.node 的内置模块
1-path 提供一些用于处理文件路径的小工具
path.join(路径,路径) -----合并路径地址
2-fs 所有与文件相关的工作都是通过fs模块来实现的
fs.readFile(路径,编码方式,callback(err,data))----- 异步读取,没有返回值;
fs.readFileSync(路径,编码方式)-----同步读取,返回读取的结果
fs.writeFileSync(路径,写入的内容,{}) -----同步写入
fs.writeFile(路径,写入的内容,{},callback(err))-----异步的写入
fs.rename(路径,路径)------如果只有文件夹名字不同,则重命名,如果路径不同,则移动文件至目标路径并重命名。异步。
fs.renameSync()------同步。
fs.mkdir(路径,{recursive:true可以创建不存在的目录},callback(err))/fs.mkdirSync()-----创建文件夹
fs.rmdir(路径,{recursive:true})/fs.rmdirSync()-----删除文件夹
fs.readdir(路径,callback(err,data))/fs.readdirSync() -----读取文件夹
3-url模块 用于URL处理与解析
url.parse(路径,true表示把get传值转换为对象)
4-querystring 把urlencoded转换为对象
querystring.parse()
5.http协议
以下是 HTTP 请求/响应的步骤:
-
HTTP客户端连接到Web服务器端口
-
发送HTTP请求
-
服务器接受请求并返回HTTP响应
-
释放连接连接
-
客户端浏览器解析HTML内容
HTTP 请求报文包括四部分
-
请求行
-
请求头
-
空行
-
请求体
HTTP 响应报文也包括四个部分
-
响应行
-
响应头
-
空行
-
响应体
6.JSON(JavaScript Object Notation(JavaScript 对象表示法) )
将对象转换为JSON数据字符串格式:JSON.stringify(obj)
将JSON字符串转换为对象格式:JSON.parse(string)
7.Node模块化
-
暴露模块:
module.exports = value
或exports.xxx = value
-
引入模块:
require(xxx)
,如果是第三方模块,xxx为模块名;如果是自定义模块,xxx为模块文件路径.
Node暴露
module.exports=
Node引入
const xxx = require(‘文件路径’)
ES6暴露
export
export default
ES6引入
import {xxx} from ‘xxx’
import xxxx from ‘xxx’
模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。
8.npm
1-npm search
命令用于搜索npm
仓库
2-npm init
用来初始化生成一个新的package.json
文件
3-npm install
命令用来安装模块到node_modules
目录(如果目录不存在,会创建一个)。
4-命令集合
npm -v #查看版本
npm init # 生成 package.json 不要在中文下生成。包的名字不允许写中文,
也不允许写npm,也不要大写
npm init --yes # 使用默认项生成 package.json
npm init -y # -y是--yes的简写。使用默认项生成 package.json
# 更改镜像到淘宝,否则速度比较慢
npm config set registry https://registry.npm.taobao.org
# 查看是否更改完成
npm config get registry
# 下载本地安装
npm install jquery # 安装一个包
npm install jquery ejs # 安装多个包
npm remove jquery # 删除一个包
npm uninstall ejs # 删除一个包
npm i jquery ejs # i是install的简写
npm uninstall jquery ejs #删除多个包
npm install jquery --save #将该模块写入dependencies属性
npm install ejs -S #将该模块写入dependencies属性
npm remove jquery ejs
npm install jquery --save-dev #将该模块写入devDependencies属性
npm install ejs -D # -D 是 --save-dev简写 #将该模块写入devDependencies属性
npm install jquery@3.3 # 安装指定版本
npm update jquery # 升级jquery包
# 先将node_modules删除。
npm i 或 npm install # 安装package.json中指定的包
# 全局安装
npm install nodemon -g # 全局安装nodemon.全局安装之后可以在任何目录下使用命令。
npm install nodemon@2.0.7 -g # 全局安装nodemon,并指定版本
npm uninstall nodemon -g # 删除安装的全局包nodemon
npm list #查看本地安装包信息
npm list -g #查看全局安装包信息
npm list express #查看某个安装包信息
npm ls #npm list简写
npm ls nodemon -g # 查看全局安装包nodemon的信息
9.cnpm
安装:npm install cnpm -g --registry=https://registry.npm.taobao.org
配置镜像地址:
淘宝镜像 npm config set registry https://registry.npm.taobao.org
官方镜像 npm config set registry https://registry.npmjs.org
查看当前镜像地址 npm config get registry
10.yarn yarn 是 Facebook 开源的新的包管理器,可以用来代替 npm。
安装:npm install yarn -g
11.express 运行在node中的用来搭建服务器的模块(第三方模块 )
1-安装 cnpm i express --save
2-使用
//引入express模块
var express = require('express')
//创建应用对象
var app = express()
//配置静态资源
app.use(express.static(__dirname));//中间件
//开启服务器,监听3000端口
app.listen(3000,function () {
console.log("success");
})
3-Route
Route是当接收到客户端发来的HTTP请求,会根据请求的URL,来找到相应的映射函数,然后执行该函数,并将函数的返回值发送给客户端。
我们可以将路由定义为三个部分:
第一部分:HTTP请求的方法(get或post)
第二部分:URL路径
第三部分: 回调函数
Express中提供了一系列函数,可以让我们很方便的实现路由:
app.<method>(path,callback) app.get()/app.post()/app.all()
4-request
属性/方法 | 描述 |
---|---|
request.query | 获取get请求查询字符串的参数,拿到的是一个对象 |
request.params | 获取get请求参数路由的参数,拿到的是一个对象 |
request.body | 获取post请求体,拿到的是一个对象(要借助一个中间件) |
request.get(xxxx) | 获取请求头中指定key对应的value |
5-response
属性/方法 | 描述 |
---|---|
response.send() | 给浏览器做出一个响应 |
response.end() | 给浏览器做出一个响应(不会自动追加响应头) |
response.download() | 告诉浏览器下载一个文件 |
response.sendFile() | 给浏览器发送一个文件 |
response.redirect() | 重定向到一个新的地址(url) |
response.set(header,value) | 自定义响应头内容 |
res.status(code) | 设置响应状态码 |