Node相关

目录

1.Node.js=>Node 是运行环境,不是编程语言,可以运行js代码。

2.单位换算:

3.node 的内置常量:

4.node 的内置模块

1-path 提供一些用于处理文件路径的小工具

2-fs 所有与文件相关的工作都是通过fs模块来实现的

3-url模块  用于URL处理与解析

4-querystring 把urlencoded转换为对象

5.http协议

6.JSON(JavaScript Object Notation(JavaScript 对象表示法) )

7.Node模块化

8.npm

9.cnpm

10.yarn   yarn 是 Facebook 开源的新的包管理器,可以用来代替 npm。

11.express 运行在node中的用来搭建服务器的模块(第三方模块 )

1-安装 cnpm i express --save

2-使用

3-Route

4-request

5-response

6-中间件


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 请求/响应的步骤:

  1. HTTP客户端连接到Web服务器端口

  2. 发送HTTP请求

  3. 服务器接受请求并返回HTTP响应

  4. 释放连接连接

  5. 客户端浏览器解析HTML内容

HTTP 请求报文包括四部分

  • 请求行

  • 请求头

  • 空行

  • 请求体

HTTP 响应报文也包括四个部分

  • 响应行

  • 响应头

  • 空行

  • 响应体

6.JSON(JavaScript Object Notation(JavaScript 对象表示法) )

将对象转换为JSON数据字符串格式:JSON.stringify(obj)

将JSON字符串转换为对象格式:JSON.parse(string)

7.Node模块化

  • 暴露模块:module.exports = valueexports.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)设置响应状态码

6-中间件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值