文章目录
Nodejs
简单介绍
什么是node.js?
基于ChromeV8引擎的JavaScript运行环境,
安装后尽量将这两个文件夹配置在目录及父目录没有空格的地方
修改可以通过npm config edit
找到配置项配置
在Node.js环境中执行JavaScript代码
打开终端
node 要执行的js文件路径
fs文件系统模块
读取文件
格式
为null表示没有错误信息,读取成功!!!
写入文件
为null表示没有错误信息,写入成功!!!
路径动态拼接
出现路径拼接问题,是因为使用了相对路径,解决是使用绝对路径即可。
__dirname
表示当前文件所处的目录
Path路径模块
../
会抵消路径
例如fs.readFile()可以这样写,不要使用+可能会导致问题
获取文件名
传第二个参数表示只获取文件名称不获取文件扩展名
获取文件扩展名
Http模块
服务器相关概念
域名和域名服务器
创建基本的web服务器
创建!
使用node xx.js
运行js文件
const http = require('http')
const server = http.createServer()
server.on('request',function(req,res){
console.log('服务器被请求')
})
server.listen(80,function(){
console.log('服务器80已经启动!')
})
req请求对象
请求
req.url是端口号后面的字符串
响应
解决乱码问题
写完记得重启服务器
动态响应
模块化
什么是模块化?
模块化规范
模块分类
省略.js
等文件后缀名也可以正常引入(自动补全)
模块作用域
防止了全局变量污染的问题
module对象
module.exports对象
使用module.exports共享成员
随后,我们就可以获取我们引入的方法
exports对象
使用误区:
npm与包
地址:
[https://www.npmjs.com/]
npm初体验
安装包
注意点
包管理配置文件
多人协作的问题
快速创建package.json
dependencies节点
可以通过
npm i xx yy
空格隔开安装多个包
一次性安装所有包
devDependencies节点
--save-dev简写为-D的写法
下载速度慢
默认使用国外服务器
包的分类
两类:
- 项目包
- 全局包
i5ting_toc
-o转换完成后默认浏览器打开
规范
开发自己的包
ES6
说明文档
发布包
注册npm账号
在终端中登录
npm login
npm publish
npm unpublish 包名 --force
命令
如何更新?
更新版本:
1.先把.json文件里面的版本号修改
2.再继续使用上传命令: npm publish
3.这样就ok了
模块的加载机制
Express
什么是express
创建web服务器
基本使用
app.all(...)
注意点:
- 名称自己随便起
- 可以有多个
静态资源处理
nodemon
Epress路由
模块化路由
Express中间件
中间件初体验
使用app.use(…)
局部生效中间件
中间件注意事项
中间件分类
自定义中间件
node.js内置的querystring模块
使用Express写接口
跨域问题
注意在路由之前配置cors中间件
简单请求
JSONP接口
如果有拦截需要/api
才能访问,记得拼接/api
Web开发模式
身份认证
Session
提高安全性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BP8dlDu8-1648214050356)(https://gitee.com/onlineshow/pic-go/raw/master/img/markdown/image-20220318220458491.png)]
session工作原理
在Express中使用Session认证
JWT认证机制
使用jwt
express-jwt最新版本需要配置algorithms算法,一般默认是HS256,配置格式expressJWT({secret: secretKey, algorithms: [‘HS256’]})
MySQL
返回数组对象
affectedRows影响行数