回顾与思考
![](https://i-blog.csdnimg.cn/direct/b981baeda0314396af171f69c99e7423.png)
![](https://i-blog.csdnimg.cn/direct/8536c8dcc6a941d5857b96c10e7ea481.png)
![](https://i-blog.csdnimg.cn/direct/f448bcbbec9640e381ab37a050ac2db1.png)
![](https://i-blog.csdnimg.cn/direct/0fc2274909b34912b2875efc87ec68df.png)
![](https://i-blog.csdnimg.cn/direct/a1618107158e4b9f84b2985c8ce96724.png)
![](https://i-blog.csdnimg.cn/direct/355af527f945409fbf7cb8d0e408981e.png)
Node.js 简介
![](https://i-blog.csdnimg.cn/direct/b06298be24674fa2b32ba375bf8362d1.png)
![](https://i-blog.csdnimg.cn/direct/358b22edd6f9487c9d6cc387959352d3.png)
![](https://i-blog.csdnimg.cn/direct/f0066b98fef9456fb06ccc8a77f2de42.png)
![](https://i-blog.csdnimg.cn/direct/dad5aa7abd6d40f98999ea455fff0f22.png)
Node.js 环境的安装
![](https://i-blog.csdnimg.cn/direct/2da3fcbba04e4f05b3c31830c36d9088.png)
![](https://i-blog.csdnimg.cn/direct/63b7ad4ab6774e90ada031932d70fb76.png)
![](https://i-blog.csdnimg.cn/direct/34cb90cd1d254286a00236c4aa787c00.png)
fs 文件系统模块
![](https://i-blog.csdnimg.cn/direct/ef0f922b6ff04790a5fa622de5d5f80a.png)
读取指定文件中的内容
![](https://i-blog.csdnimg.cn/direct/ef585eb9baef4748b9d58e5402909bbf.png)
![](https://i-blog.csdnimg.cn/direct/73679ed17b714cf09a44a9213b135acc.png)
判断文件是否读取成功
![](https://i-blog.csdnimg.cn/direct/25ce9a0843134dca8d9a4689f379473c.png)
向指定的文件中写入内容
![](https://i-blog.csdnimg.cn/direct/df47c3a98438441e809e05ecf6c1a990.png)
![](https://i-blog.csdnimg.cn/direct/da766a30a594498884152975dfb5709f.png)
判断文件是否写入成功
![](https://i-blog.csdnimg.cn/direct/a50ccb6741c345bab6c1c9442a9d8f86.png)
fs 模块 - 路径动态拼接的问题
![](https://i-blog.csdnimg.cn/direct/8715f8dfd78b4cd698ff7f30b954ad46.png)
![](https://i-blog.csdnimg.cn/direct/663d3ac67293482e9992e4fdb8a72fdf.png)
path 路径模块
![](https://i-blog.csdnimg.cn/direct/38ac69854b9c4d69928c68590a2ef563.png)
路径拼接
![](https://i-blog.csdnimg.cn/direct/8912b0defb37421da0bafc91d61c229a.png)
获取路径中的文件名
![](https://i-blog.csdnimg.cn/direct/82b71d24082740f79c9908dbb2a59da7.png)
![](https://i-blog.csdnimg.cn/direct/ad91f0244b82458cb0f629793d44798d.png)
获取路径中的文件扩展名
![](https://i-blog.csdnimg.cn/direct/d282824a005f4f7586df3e63933e315a.png)
![](https://i-blog.csdnimg.cn/direct/6721b249fef84ce4af428dd1e767fe70.png)
http模块
什么是 http 模块
![](https://i-blog.csdnimg.cn/direct/8ed6786f5e2949a6a93f06baa1b76f83.png)
进一步理解 http 模块的作用
![](https://i-blog.csdnimg.cn/direct/e8884672a52847ad935786271d4ee2c1.png)
服务器相关的概念
![](https://i-blog.csdnimg.cn/direct/3e75921300144a8690ec075e0056dafa.png)
![](https://i-blog.csdnimg.cn/direct/c74c7f6405b0408f95b28933ab780ee1.png)
![](https://i-blog.csdnimg.cn/direct/5bd34e9ce9cd4aea9f440d2eaeb40869.png)
![](https://i-blog.csdnimg.cn/direct/442133e2a31f4006a6523bf0ca379be9.png)
创建最基本的 web 服务器
![](https://i-blog.csdnimg.cn/direct/63f1c21784e145c1b6a3004a2498631a.png)
![](https://i-blog.csdnimg.cn/direct/3e7e8e16aadd47c3a53a648691e9ef5b.png)
![](https://i-blog.csdnimg.cn/direct/7c2674fdee0f4d139d207ee3b9240ffc.png)
![](https://i-blog.csdnimg.cn/direct/f518612f0de64c9fa9c9360f473e5d45.png)
![](https://i-blog.csdnimg.cn/direct/935a09b063d446d6b5bef356bfdb3b1f.png)
req 请求对象
![](https://i-blog.csdnimg.cn/direct/2ad1ab16f00b41aba579d84d6d9ed43d.png)
res 响应对象
![](https://i-blog.csdnimg.cn/direct/abf36c1d927b4f39bdcb811aa583e5fa.png)
解决中文乱码问题
![](https://i-blog.csdnimg.cn/direct/9ed39e71296743079886de3c0027f1d4.png)
根据不同的url响应不同的html内容
![](https://i-blog.csdnimg.cn/direct/31dfb3c3aa9848648b72b151c730431a.png)
![](https://i-blog.csdnimg.cn/direct/f43ad91f40c446379334f524e087307c.png)
模块化的基本概念
![](https://i-blog.csdnimg.cn/direct/21055fb4112f4da0b6b8a4a841176450.png)
![](https://i-blog.csdnimg.cn/direct/d5abb80953ce40e09c27cfbbf3b58c39.png)
![](https://i-blog.csdnimg.cn/direct/4b4b39d98eec4374bdef44db111d688e.png)
![](https://i-blog.csdnimg.cn/direct/c7eb829ff4424ef698abc6901e6b3f21.png)
加载模块
![](https://i-blog.csdnimg.cn/direct/d857ec5ed69f486e932f591956cca033.png)
Node.js 中的模块作用域
![](https://i-blog.csdnimg.cn/direct/d3e2e6f0497f42d9bfdaada8cc93951a.png)
向外共享模块作用域中的成员
![](https://i-blog.csdnimg.cn/direct/ba3242305d24441e90db6a51149bc982.png)
![](https://i-blog.csdnimg.cn/direct/2eedaad94c5743d89af6ce6753f48a0b.png)
![](https://i-blog.csdnimg.cn/direct/7f24a87a2b814514ab2870b2f0597582.png)
![](https://i-blog.csdnimg.cn/direct/2c6649e4f7514cbe8ab5d97fa69e1f6b.png)
![](https://i-blog.csdnimg.cn/direct/788f2323dd0e4868a3c5d23340accd07.png)
// 在一个自定义模块中,默认情况下, module.exports = {}
const age = 20
// 向 module.exports 对象上挂载 username 属性
module.exports.username = 'zs'
// 向 module.exports 对象上挂载 sayHello 方法
module.exports.sayHello = function() {
console.log('Hello!')
}
module.exports.age = age
// 让 module.exports 指向一个全新的对象
module.exports = {
nickname: '小黑',
sayHi() {
console.log('Hi!')
}
}
![](https://i-blog.csdnimg.cn/direct/b9910296e68342778970cba6b969f090.png)
![](https://i-blog.csdnimg.cn/direct/239721d5d3584e278af7205a91fe3109.png)
![](https://i-blog.csdnimg.cn/direct/84070c1810634c15a936b7634faa2188.png)
![](https://i-blog.csdnimg.cn/direct/afcca3e033de497692126923f30d4996.png)
Node.js 中的模块化规范
![](https://i-blog.csdnimg.cn/direct/b78126b876d14734aa0549310d426ad2.png)
npm与包
![](https://i-blog.csdnimg.cn/direct/3266b4ace91844d7b03ab6bee6219766.png)
![](https://i-blog.csdnimg.cn/direct/f6a190a7c5f84ff8974acb19bea67e8d.png)
![](https://i-blog.csdnimg.cn/direct/be65731e8c4d47c7820468f3369913e5.png)
![](https://i-blog.csdnimg.cn/direct/1ea212b5b623467e863ddef65c79eb78.png)
![](https://i-blog.csdnimg.cn/direct/5bd53c35d5e94146b6324c4eee4c22d2.png)
在项目中安装包的命令
![](https://i-blog.csdnimg.cn/direct/91a6836cda184b41ba6de558c03a7caf.png)
![](https://i-blog.csdnimg.cn/direct/07003cb6827843fb8da1d27aec47e60b.png)
![](https://i-blog.csdnimg.cn/direct/1d59018c36ef4a41a1c2306784385ff7.png)
![](https://i-blog.csdnimg.cn/direct/6006f63f49b6439b9551a7bc3898bd52.png)
包管理配置文件(团队)
![](https://i-blog.csdnimg.cn/direct/904b391cc4374e0b84d3e3920a75f3c4.png)
![](https://i-blog.csdnimg.cn/direct/4c00be1f34084f21872540bf4c0898a7.png)
![](https://i-blog.csdnimg.cn/direct/c481866270904d7cb6e3a6cafc909a1b.png)
![](https://i-blog.csdnimg.cn/direct/41939cf3bd4048f090a7207b49fa4f91.png)
![](https://i-blog.csdnimg.cn/direct/0cc8ccfb5c614290a1c2abc884f70bd1.png)
![](https://i-blog.csdnimg.cn/direct/48fdaa6cd2604cc2a311544888372ef4.png)
![](https://i-blog.csdnimg.cn/direct/e8a0f5dc4754431db68bf52e17ca0993.png)
![](https://i-blog.csdnimg.cn/direct/cb357d76295c40aa82143669b067b03c.png)
![](https://i-blog.csdnimg.cn/direct/13128e306ddc47e585d9594aa6606ac2.png)
解决下包速度慢的问题
![](https://i-blog.csdnimg.cn/direct/8ecfa54381bc4bdcbb9a171549362b89.png)
![](https://i-blog.csdnimg.cn/direct/a48cb7acbce045168b50e9a916085e9c.png)
![](https://i-blog.csdnimg.cn/direct/ea8f0765abbb4444bbe0ea077b787e0d.png)
![](https://i-blog.csdnimg.cn/direct/bb2888ffcea7462fa56e9610fd1ad520.png)
![](https://i-blog.csdnimg.cn/direct/45cde3f83ffa4705ba672fa58ed87ccc.png)
包的分类
![](https://i-blog.csdnimg.cn/direct/62e4fe5eb35d46db87efe87cd598afae.png)
![](https://i-blog.csdnimg.cn/direct/74ed6ea879e841d297b08a4f0ad8f5f8.png)
![](https://i-blog.csdnimg.cn/direct/919ba840f3ee4a49a5ef28d3b0229524.png)
![](https://i-blog.csdnimg.cn/direct/61b703bd05594b02b0de90a5e709261f.png)
![](https://i-blog.csdnimg.cn/direct/d0af2dac888d4af789b0b131a882a4a4.png)
开发属于自己的包(案例)
![](https://i-blog.csdnimg.cn/direct/68d127c0944145aca1e4d5e804d5f247.png)
![](https://i-blog.csdnimg.cn/direct/193957aba4a6449a869670faea397f68.png)
![](https://i-blog.csdnimg.cn/direct/a82dd4afff3a4c95b487e8537663d6ce.png)
![](https://i-blog.csdnimg.cn/direct/9c7fa0a7b9924292bd0e3d051dcb78b2.png)
![](https://i-blog.csdnimg.cn/direct/b588557f02cd4306b1cd2cb8cff17868.png)
![](https://i-blog.csdnimg.cn/direct/b84be42c4ada4810b829f3f40df0ecca.png)
![](https://i-blog.csdnimg.cn/direct/7b40c6018c3d497ea15ca17f126dc63f.png)
![](https://i-blog.csdnimg.cn/direct/d0be680c1f9e4ffb92d54295454b23b2.png)
![](https://i-blog.csdnimg.cn/direct/95cf2f3d04fa401599cfa4206a03cf9f.png)
![](https://i-blog.csdnimg.cn/direct/05180dd2e791473bb14384a585a17a3d.png)
![](https://i-blog.csdnimg.cn/direct/0e7dbee40ead4ce0ab2efdd12f76e013.png)
发布包
![](https://i-blog.csdnimg.cn/direct/94f772d6345145cc9a58337d4615210b.png)
![](https://i-blog.csdnimg.cn/direct/4d399bd0df944992931d137076476805.png)
![](https://i-blog.csdnimg.cn/direct/c417eb65da3042c588b012cbf169f341.png)
![](https://i-blog.csdnimg.cn/direct/6f9e503427ad45c3930cbaabb551c03c.png)
模块的加载机制
优先从缓存中加载
![](https://i-blog.csdnimg.cn/direct/a00a8172dfde44b3b2f73865c9306479.png)
内置模块的加载机制
![](https://i-blog.csdnimg.cn/direct/9f2f4978447946d29df2b7d81fc40459.png)
自定义模块的加载机制
![](https://i-blog.csdnimg.cn/direct/d5bf713bea394a00b6b65d484870778d.png)
第三方模块的加载机制
![](https://i-blog.csdnimg.cn/direct/4141ae1e0e114bf9bb51fa271acc8003.png)
目录作为模块
![](https://i-blog.csdnimg.cn/direct/782c4c30a9bb416d8d13875357bb502e.png)
初识 Express
![](https://i-blog.csdnimg.cn/direct/36b7e9fd52184877bfefc2556b36a96e.png)
![](https://i-blog.csdnimg.cn/direct/5360223248fd4f78873d7846418a8d60.png)
![](https://i-blog.csdnimg.cn/direct/df2497cfe0424fb591a68661ae6ebf2f.png)
Express 的基本使用
![](https://i-blog.csdnimg.cn/direct/d007bd2b04e549439ce157211102d3d1.png)
![](https://i-blog.csdnimg.cn/direct/917697f97cc94a629abe96b4a2de0075.png)
![](https://i-blog.csdnimg.cn/direct/749af62ef34a4c9f8fdcfaf6ba73497b.png)
![](https://i-blog.csdnimg.cn/direct/ce980850ac6841c79e8c9e0126aaa70e.png)
![](https://i-blog.csdnimg.cn/direct/2c1a9327ad23497e996b1afa7e4acd9d.png)
![](https://i-blog.csdnimg.cn/direct/fdeceb1d526148588903debb4080ffc9.png)
![](https://i-blog.csdnimg.cn/direct/9916ac9f134b49bbbf258094ad6cb47c.png)
托管静态资源
![](https://i-blog.csdnimg.cn/direct/1c062dfc50514ae188bf9b7696a46da6.png)
![](https://i-blog.csdnimg.cn/direct/f35b0d50259a4728a02c6a99300039a6.png)
![](https://i-blog.csdnimg.cn/direct/c3313afbfd1343af8464976d262b0219.png)
nodemon
![](https://i-blog.csdnimg.cn/direct/dca7efb3c923449b916affaaefca0c29.png)
![](https://i-blog.csdnimg.cn/direct/407503f52ee94e87a4951800a371d579.png)
Express 路由
![](https://i-blog.csdnimg.cn/direct/58fc68ab2d25437e9e7b1cc55188fb75.png)
![](https://i-blog.csdnimg.cn/direct/14a2117b5f0e4752baffe667353a4a24.png)
![](https://i-blog.csdnimg.cn/direct/52455a1b6feb432689a2e1d288a6f851.png)
![](https://i-blog.csdnimg.cn/direct/c966767a965a4d2f9994ab361ea2402a.png)
![](https://i-blog.csdnimg.cn/direct/344adab87b0341368e19be2bc6389357.png)
路由的使用
![](https://i-blog.csdnimg.cn/direct/ccaabdeae92a4265b8cefa2683d2eaf0.png)
![](https://i-blog.csdnimg.cn/direct/123caf3f1e0f4d5cb693c1933aad63ec.png)
![](https://i-blog.csdnimg.cn/direct/52fc27cec8fb44fdaff0bbeb7939508e.png)
![](https://i-blog.csdnimg.cn/direct/bcc4f44536684721bc023d8a09fdbed4.png)
![](https://i-blog.csdnimg.cn/direct/7f9815e359ff4496ae6dd631abe5438d.png)
Express 中间件
![](https://i-blog.csdnimg.cn/direct/b2cb5bbc440e48c7b69d305f23f4a903.png)
![](https://i-blog.csdnimg.cn/direct/9c5e447df59249a38878cfd14d2c6b93.png)
![](https://i-blog.csdnimg.cn/direct/8fa81d94e5174b2a94d460e5c63090c8.png)
![](https://i-blog.csdnimg.cn/direct/5af5969ae61949118a931d7a39cddfea.png)
![](https://i-blog.csdnimg.cn/direct/d5941a5b16d0493b88699efab0b45164.png)
Express 中间件的初体验
![](https://i-blog.csdnimg.cn/direct/62b2e105429443c795400aed0a66fcc9.png)
![](https://i-blog.csdnimg.cn/direct/cf01ae7d6f6d4e3a89e8fe598e32675c.png)
![](https://i-blog.csdnimg.cn/direct/ca5eb0dda1544c19859a82f6e5b142f9.png)
![](https://i-blog.csdnimg.cn/direct/8f5bf3a036ca41739efe68c93fd61635.png)
![](https://i-blog.csdnimg.cn/direct/aee810d1f61f40a6a395a8df095f0aa4.png)
![](https://i-blog.csdnimg.cn/direct/2368180fcf9446a39ca9997d6d77896a.png)
![](https://i-blog.csdnimg.cn/direct/a754ac5fca764fddbfcc2d91c2acf952.png)
![](https://i-blog.csdnimg.cn/direct/d154d1ba4b3b4af8b12518b3b459fe5e.png)
中间件的分类
![](https://i-blog.csdnimg.cn/direct/927fef1ba66e48a8a6101887e05c84a9.png)
![](https://i-blog.csdnimg.cn/direct/2f7329f8bdc84df992168c2a28e92fae.png)
![](https://i-blog.csdnimg.cn/direct/e2a080a5a434479a91fde1626aec5446.png)
![](https://i-blog.csdnimg.cn/direct/dbc68bacaa2c481480094cbb9bbd79e2.png)
![](https://i-blog.csdnimg.cn/direct/8bc41ec5c62c4335bce58c3ded667d83.png)
![](https://i-blog.csdnimg.cn/direct/e055c7e775e647cebde749c468f88f35.png)
![](https://i-blog.csdnimg.cn/direct/8ee18eaaa83e4254b0336f3563e3790b.png)
自定义中间件
![](https://i-blog.csdnimg.cn/direct/8766ba2ce18c47f08ff6e422e22f2d9b.png)
![](https://i-blog.csdnimg.cn/direct/7fee1d8d0191499a80d5580657b894d2.png)
![](https://i-blog.csdnimg.cn/direct/394554f3a38b49cf803e5c2551129da6.png)
![](https://i-blog.csdnimg.cn/direct/6942d75524a14bf8a00cdb7965466265.png)
![](https://i-blog.csdnimg.cn/direct/aceedccde20548ce977f8e1f8a258f94.png)
![](https://i-blog.csdnimg.cn/direct/31c38f407ed24de68659d2c472cee5b4.png)
![](https://i-blog.csdnimg.cn/direct/6edd444819d943cbb89ea4f194bcc150.png)
使用 Express 写接口
![](https://i-blog.csdnimg.cn/direct/f4a9f8397ebe4e44a6a515e25e831091.png)
![](https://i-blog.csdnimg.cn/direct/81cc05fe82bd443a806bb34b9dd79106.png)
![](https://i-blog.csdnimg.cn/direct/97cbbd14749c4ed0b050670424ab6470.png)
![](https://i-blog.csdnimg.cn/direct/a2123ad20e9b4542b9dabbafb8b14e01.png)
CORS 跨域资源共享
![](https://i-blog.csdnimg.cn/direct/317a4608827a46dd82b1109c78432dff.png)
![](https://i-blog.csdnimg.cn/direct/8abea783b6464db7a09c609f1831b624.png)
![](https://i-blog.csdnimg.cn/direct/2dd179f90dc8478088c0b37e2b41c8e9.png)
![](https://i-blog.csdnimg.cn/direct/722dc15831764de99badf88cca4bdaec.png)
![](https://i-blog.csdnimg.cn/direct/13cbfb123c544f478b57c738d9270d8c.png)
![](https://i-blog.csdnimg.cn/direct/fd685129604847a9bc2d3d1f879a4628.png)
![](https://i-blog.csdnimg.cn/direct/21a6c013e3294f35aadc30937eabdd50.png)
![](https://i-blog.csdnimg.cn/direct/1d390d7ecd63465c910d17c17d002dfc.png)
![](https://i-blog.csdnimg.cn/direct/89265ded04c642469bd772315db77ae2.png)
![](https://i-blog.csdnimg.cn/direct/2c19f64c3e3f495a9cedce98d90c4cec.png)
![](https://i-blog.csdnimg.cn/direct/3d077ed81f0446df9de8c83443993054.png)
JSONP 接口
![](https://i-blog.csdnimg.cn/direct/021c77c63ded4fc6a279bd0947779129.png)
![](https://i-blog.csdnimg.cn/direct/5c9b8122750741f98588d1d9a68b507e.png)
![](https://i-blog.csdnimg.cn/direct/357f0d433aa54a288d4f0fa01bc0b42f.png)
![](https://i-blog.csdnimg.cn/direct/37e1e0ac4e76426db8086660f5428583.png)
![](https://i-blog.csdnimg.cn/direct/1753d3004013413880e75b2760abf131.png)
数据库的基本概念
![](https://i-blog.csdnimg.cn/direct/0e79003e444548409e391e86da660447.png)
常见的数据库及分类
![](https://i-blog.csdnimg.cn/direct/89bdeeca225e468a83a0f45478bf00d5.png)
![](https://i-blog.csdnimg.cn/direct/4b360e09cef649838f44c6eb90e7c81a.png)
![](https://i-blog.csdnimg.cn/direct/d65cda77af984750870f528c8a7cefda.png)
安装并配置 MySQL
![](https://i-blog.csdnimg.cn/direct/60d4b29e68754e7db6dd4a65d17d3bf9.png)
SQL 的 SELECT 语句
![](https://i-blog.csdnimg.cn/direct/f485e8f68dd84c789a1653d380ef20f7.png)
![](https://i-blog.csdnimg.cn/direct/307f052a4b8645989b7c8356e541432a.png)
![](https://i-blog.csdnimg.cn/direct/0b6557b4e6684a95ba07991c367036f2.png)
SQL 的 INSERT INTO 语句
![](https://i-blog.csdnimg.cn/direct/60d17edde11349beb6786cfaaddcc0f1.png)
![](https://i-blog.csdnimg.cn/direct/3a2d7f8a63954bf0af1a1654bba6e02a.png)
SQL 的 UPDATE 语句
![](https://i-blog.csdnimg.cn/direct/25a14f6cb7794c818196a8fc0c009c68.png)
![](https://i-blog.csdnimg.cn/direct/0c0f033a60044b7f9e346e28cb536681.png)
![](https://i-blog.csdnimg.cn/direct/0c93c970783844b8b43998f639018737.png)
SQL 的 DELETE 语句
![](https://i-blog.csdnimg.cn/direct/4eed2bdf0c6d4342a8e63b66ea623e73.png)
![](https://i-blog.csdnimg.cn/direct/92a4c6fd196c42e9ac0f24c592853727.png)
SQL 的 WHERE 子句
![](https://i-blog.csdnimg.cn/direct/fe1a2ba4bad94d079428b0efdcaed5b5.png)
![](https://i-blog.csdnimg.cn/direct/b03340ac7110420886f7c4aabc4f1dae.png)
![](https://i-blog.csdnimg.cn/direct/de74b8a8b30b46d89bf8480ded02ec48.png)
SQL 的 AND 和 OR 运算符
![](https://i-blog.csdnimg.cn/direct/022d77d80d33468cb418d754d0a0bd41.png)
![](https://i-blog.csdnimg.cn/direct/512b5895f5b34c54b95f7a336da5c45f.png)
![](https://i-blog.csdnimg.cn/direct/c6ba9589c5c04f5e885541c864bb9795.png)
SQL 的 ORDER BY 子句
![](https://i-blog.csdnimg.cn/direct/ea7419e2422d4840a5fc3f682952715c.png)
![](https://i-blog.csdnimg.cn/direct/6f06453e90754579a70e472e7b6ca5af.png)
![](https://i-blog.csdnimg.cn/direct/031d3a79750f440ebfbcbb6a2ce03113.png)
![](https://i-blog.csdnimg.cn/direct/d762a2767fc941f2baf6700fd9afd67d.png)
SQL 的 COUNT(*) 函数
![](https://i-blog.csdnimg.cn/direct/d8ab9c5e1ce24b91964f5b0964b42bcb.png)
![](https://i-blog.csdnimg.cn/direct/4bdfdeca5b424ec59d0c4bb10367874d.png)
![](https://i-blog.csdnimg.cn/direct/c5dbece2a12446f4ad7173866e33beb8.png)
在项目中操作 MySQL
![](https://i-blog.csdnimg.cn/direct/fa92ba3a0fe14ff1886182171c45bde1.png)
![](https://i-blog.csdnimg.cn/direct/3938809075ed4ec8947f0fc0569ec157.png)
![](https://i-blog.csdnimg.cn/direct/f3e81b313de54bc69c0eaefe88ad1bbb.png)
![](https://i-blog.csdnimg.cn/direct/5e6d35d5a2fd468eb02d8eb09d550043.png)
使用mysql模块操作MySQL数据库
![](https://i-blog.csdnimg.cn/direct/75aa032bd1fe42a2a9b03f143c0d5ca7.png)
![](https://i-blog.csdnimg.cn/direct/dda2cc0a9e2345bbba875c0518f03a88.png)
![](https://i-blog.csdnimg.cn/direct/a406b74012434dd6ad77af686e67dbeb.png)
![](https://i-blog.csdnimg.cn/direct/d3674b93912e40719d8cf915a6a79afe.png)
![](https://i-blog.csdnimg.cn/direct/b65a9f4879eb4f94a4de9cbf0d2c63ac.png)
![](https://i-blog.csdnimg.cn/direct/0591e037a87745b1a7f1169333a67713.png)
![](https://i-blog.csdnimg.cn/direct/f3749c0ea81d44008ba4afbc574bdab9.png)
前后端的身份认证
Web 开发模式
![](https://i-blog.csdnimg.cn/direct/c2b237f609264345a0807f77a71646f7.png)
![](https://i-blog.csdnimg.cn/direct/a998d7ccc98b47d1834fd284a065f8db.png)
![](https://i-blog.csdnimg.cn/direct/6166f42cb2f148138724002b98c147d9.png)
![](https://i-blog.csdnimg.cn/direct/5a4d78556b5944f38018d17e5ba101d3.png)
![](https://i-blog.csdnimg.cn/direct/7954096bd9f54fc5b4a8f5e0fcd1a96c.png)
![](https://i-blog.csdnimg.cn/direct/434bd583934841f39fe802f3664ab93f.png)
身份认证
![](https://i-blog.csdnimg.cn/direct/bcbb9e7dac804e0da30a34abdfe3f3ea.png)
![](https://i-blog.csdnimg.cn/direct/2f24495994e448c7ae52468e2570e320.png)
![](https://i-blog.csdnimg.cn/direct/2461d0a8e7ef47dbb21db314b4a4a050.png)
Session 认证机制
![](https://i-blog.csdnimg.cn/direct/5ed33723e565467fb8e1d1a01685db4a.png)
![](https://i-blog.csdnimg.cn/direct/bf65863c57fe4ce89d0808cc564c4549.png)
![](https://i-blog.csdnimg.cn/direct/8dc6f1cbbee640c68cfc625d455a72a9.png)
![](https://i-blog.csdnimg.cn/direct/6786d4ed16a44b58a9cbd60a673d9386.png)
![](https://i-blog.csdnimg.cn/direct/c087f89f11f24c3a9dc5151ba7a386f7.png)
![](https://i-blog.csdnimg.cn/direct/200b83131f36494c8255d9f82dfb7350.png)
![](https://i-blog.csdnimg.cn/direct/4dfffc7d265c4a188e0b3a14d6ebb656.png)
在 Express 中使用 Session 认证
![](https://i-blog.csdnimg.cn/direct/c4528668d51145fe9dfc10de11739ded.png)
![](https://i-blog.csdnimg.cn/direct/72142deb8c864d0888ca2957b8b60d38.png)
![](https://i-blog.csdnimg.cn/direct/928fffb4379b44279bd719cb5bb80eb9.png)
![](https://i-blog.csdnimg.cn/direct/8e77a7bf4fc84b5993018d4de2d89ce9.png)
![](https://i-blog.csdnimg.cn/direct/1a66f4e0fcb1410a925c112e335bbc94.png)
JWT 认证机制
![](https://i-blog.csdnimg.cn/direct/544ec4be35ef41f98ee7b210b3b9949a.png)
![](https://i-blog.csdnimg.cn/direct/04392436465340959f569b0def5c370e.png)
![](https://i-blog.csdnimg.cn/direct/94fe851f9a484f0aaf2e466b3edeb6c0.png)
![](https://i-blog.csdnimg.cn/direct/dd92f038cf444f399cb13a50f8517726.png)
![](https://i-blog.csdnimg.cn/direct/20ac025d20c94751926b926aa4c98de1.png)
![](https://i-blog.csdnimg.cn/direct/73565ecc648d4ba4aaf2edc04c93d33b.png)
在 Express 中使用 JWT
![](https://i-blog.csdnimg.cn/direct/32377711ea624703a63d75b00aa67c4d.png)
![](https://i-blog.csdnimg.cn/direct/023448e4fa694e04869cc799d37a4739.png)
![](https://i-blog.csdnimg.cn/direct/82b34ef9ab624627958827f390447b9e.png)
![](https://i-blog.csdnimg.cn/direct/38dab5fd47fa4e1c935e8a5b14271333.png)
![](https://i-blog.csdnimg.cn/direct/d59fa8c2cfb74e03a5f477bde3e48099.png)
![](https://i-blog.csdnimg.cn/direct/8e3f878ad4ee4d62a349af1e7d6c2b65.png)
![](https://i-blog.csdnimg.cn/direct/05abdf2851324132a7553f958909e86e.png)