![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nodejs
weiweicn!
这个作者很懒,什么都没留下…
展开
-
session &&koa2模拟登陆
一. Session是什么1) cookie存储用户标识2)用户信息则存储到session中方3)session即用户信息的存储,和cookie有对应关系二、koa2实现登陆------session设置安装npm插件koa-generic-session: npm官网(test4)控制台中执行npm i koa-generic-session --saveapp.js中引入‘koa-generic-session’const session = require('koa-generic原创 2022-04-05 16:39:30 · 536 阅读 · 0 评论 -
在Koa2中操作cookie
index-cookie.js(test3)中原有代码如下// Koa2操作cookieconst Koa = require('koa');const app = new Koa();app.use(async (ctx) => { ctx.body = 'cookie test by koa2'})app.listen(3000)设置cookieapp.use(async (ctx) => { ctx.body = 'cookie test b.原创 2022-04-05 11:52:37 · 1521 阅读 · 0 评论 -
Cookie介绍&&服务端操作cookie
Cookie是什么?存储在浏览器的一段字符串,最大5kb每个域都可有一个cookie,跨域不共享格式如:k1=v1;k2=v2;k3=v3;(可结构化)cookie会随着http请求传递给服务端服务端可修改cookie,再返回给前端默认情况下跨域不可传递cookie服务端操作cookie之设置cookie在cookie-index.js中有一下代码// 服务端操作cookieconst http = require('http');const server = http.cr.原创 2022-04-03 21:47:18 · 3778 阅读 · 0 评论 -
[Nodejs] 20. koa2洋葱圈模型-----代码演示
注:演示官网(https://koa.bootcss.com/)中的代码代码如下:// 演示koa2 中间件的洋葱圈模型const Koa = require('koa');const app = new Koa;// logger ctx = req+resapp.use(async(ctx, next) => { await next(); // 执行下一个中间件 const rt = ctx.response.get(原创 2022-02-13 12:21:25 · 333 阅读 · 0 评论 -
[Nodejs] 19. koa2中间件
什么是中间件:1)一个流程上,独立的业务模块2)可扩展,可插拔3)类似于工厂的流水线为什么使用中间件1)拆分业务模块,使代码更清晰。2)统一使用中间件,使得各业务代码都规范标准3)扩展性好,易添加,易删除koa2业务代码都是中间件1)app.js中,所有的app.use(…)都是中间件2)路由也是中间件(只不过限制了url规则)一个http请求会经过如下req=>bodyparser=>json=>logger=>static=>views=>自.原创 2022-02-10 21:45:00 · 473 阅读 · 0 评论 -
[Nodejs] 18. koa2处理http请求
ctx是res和req的集合get方法中ctx.body = 'api list' // 返回的内容即res功能const query = ctx.query // 获取req,即querystringconsole.log('query', query);浏览器中输入querystring,看看console出来的内容完整代码:// 定义路由,模拟获取留言版列表,ctx是res和req的集合rou.原创 2022-02-09 22:06:24 · 383 阅读 · 0 评论 -
[Nodejs] 17. koa2环境搭建-----新建路由
在routs文件夹下新建一个comments.js文件引入router模块,并定义前缀const router = require('koa-router')();router.prefix('/api'); // 前缀定义路由,模拟获取留言列表router.get('/list', async(ctx) => { // router地址为 /api/list ctx.body = 'api list' .原创 2022-02-09 21:30:16 · 150 阅读 · 0 评论 -
[Nodejs] 16. koa2环境搭建-----目录和文件介绍
入口文件:app.js,代码如下const Koa = require('koa')const app = new Koa()const views = require('koa-views')const json = require('koa-json')const onerror = require('koa-onerror')const bodyparser = require('koa-bodyparser')const logger = require('koa-logger').原创 2022-02-07 21:54:08 · 397 阅读 · 0 评论 -
[Nodejs] 15. koa2是什么-----创建项目
安装脚手架:1)进入代码文件夹的上一层,执行命令npm install -g koa-generator2)执行完命令后,查看安装的版本koa2 --version2. 创建一个koa2项目,定位到文件夹test4中,执行koa2 test43. 在test4中执行npm install4. 启动项目,执行npm run dev启动之后如下:...原创 2022-01-27 18:21:48 · 1136 阅读 · 0 评论 -
[Nodejs] 14. koa2是什么-----代码演示
安装koa2环境1)初始化:npm init2)在npm官网:npmjs.com中搜索koa,并找到安装命令:npm i koa3)执行命令 npm i koa --save安装完成,版本为2.13.4引入koa,代码如下:const Koa = require('koa') // commonjs模块化const app = new Koa();// ctx context 上下文app.use(async (ctx ) => { ctx.body.原创 2022-01-27 18:04:36 · 865 阅读 · 0 评论 -
[Nodejs] 13. koa2是什么-----介绍
什么是框架1)封装原生代码的API2)规范流程和格式3)让开发人员更加关注于业务代码,提高开发效率框架和库的区别:1)框架是唯一的,库是可以共存的2)框架关注全流程,库关注单个功能什么是koa2:koa2是nodejs web server 框架2)官网和文档:https://koa.bootcss.com3)通过async/await语法高效编写web server4)中间件机制,能合理拆分业务代码koa2的安装与使用:1)初始化 npm init2)npm insta.原创 2022-01-27 17:38:31 · 353 阅读 · 0 评论 -
[Nodejs] 12. 接收request body-----代码演示
服务端识别“流”let bodyStr = ''; req.on('data', chunk => { // 服务端怎么去识别流,并接收数据 // chunk为流的每一段数据 bodyStr = bodyStr + chunk.toString(); });服务端识别流的完成req.on('end', () => { .原创 2022-01-26 23:15:00 · 1334 阅读 · 0 评论 -
[Nodejs] 11. res返回数据-----返回json格式
使用res设置返回的状态码、Content-type局部代码如下:res.writeHead(200, {'Content-type': 'application/json'});返回JSON数据1)定义返回的json结果const result = { errno: 0, data:[ {user:'张三', content: '留言1'}, {user:'李四', content: '留言2'} .原创 2022-01-26 17:08:21 · 4151 阅读 · 0 评论 -
[Nodejs] 10. querystring-----介绍和使用
querystring的介绍和使用什么是querystring:例:http://aaa.com/list.html?name=abc&lang=en&b=20此url中,问号后面的都是querystring(也叫url参数)用‘&’进行分割,key=value的形式,可继续扩展如何利用querystring实现动态网页1)服务端拿到querystring2)根据不同的querystring,返回不同的内容3)即变化querystring,就是变换内容(只要服原创 2022-01-21 22:10:41 · 1181 阅读 · 0 评论 -
[Nodejs] 9. 认识req和res-----定义一个get路由
回顾路由一、路由包含什么1. 定义Method, 如GET/POST等2. 定义url规则:如/api/list 和/api/create3. 定义输入(Request body)和输出(Response body)格式二、定义一个get路由1. 先判断一下路由的url和method,代码如下const http = require('http');// req: request, res: responseconst server = http.createServer((req,原创 2022-01-20 21:18:54 · 1024 阅读 · 0 评论 -
[Nodejs] 8. 认识req和res-----获取和使用
接上代码,回调函数中加入参数如下,并调end()给前端传信息const http = require('http');// req: request, res: responseconst server = http.createServer((req, res) => { console.log('已经收到http请求'); res.end('hello world') // res返回信息给前端})server.listen(3000); // 可.原创 2022-01-20 20:30:00 · 1557 阅读 · 0 评论 -
[Nodejs入门] 7. 认识req和res-----监听http请求
nodejs启动web服务在test1同级目录下新建一个test2文件夹创建服务来监听http请求,代码如下:const http = require('http');const server = http.createServer(() => { console.log('已经收到http请求');})server.listen(3000); // 可以监听http的请求了console.log('http请求已经被监听,3000端口');运行代原创 2022-01-19 21:07:08 · 1254 阅读 · 0 评论 -
[Nodejs入门] 6. Debug
Inspect 调试法在package.json中修改scripts, 增加 --inspect,然后启动服务1)修改scripts如下:"dev": "nodemon --inspect=9229 index.js"2)启动服务:npm run dev打开Chrome浏览器,访问chrome://inspect1)点击inspect跳转到了如下页面此时即可监听nodejs服务添加debugger1)制造错误如下:此时运行后控制台会报错如下2) 打断点,如下原创 2022-01-18 21:13:16 · 621 阅读 · 0 评论 -
[Nodejs 入门]5. common.js模块化
commonjs语法介绍module.export (相当于export)require(…) (相当于import)require的三个层级:1)系统自带模块,如require(‘http’)2) npm 包, 如require(‘lodash’)3) 自定义模块,如require(‘a’)系统先识别自带模块,再识别npm包,再识别自定义模块代码演示:导出一个方法1)新建文件夹如下:并导出方法sum写入如下代码:function sum(a, b) { return a原创 2022-01-14 20:54:34 · 272 阅读 · 0 评论 -
[Nodejs入门]4.安装nodemon
命令: npm install nodemon–save-dev执行后可看到package.json中多了如下字段–save和–save-dev的区别:–save: 安装的方法直接在代码中用–save-dev: 安装的方法不直接在代码中用2)如果要用nodemon,在script中加如下代码"dev1": "nodemon index.js"3)之后在控制台中运行:npm run dev1为什么要用nodemon启动服务:在代码有更新时,nodemon会自动重启,..原创 2022-01-14 19:59:01 · 462 阅读 · 0 评论 -
[Nodejs入门] 3. npm介绍
npm 是什么?node package manager, nodejs软件包管理者官网:www.npmjs.comnpm安装lodash在test1文件夹下执行命令行 npm init生成项目描述 package.json文件安装lodash: npm i lodash执行后再看package.json,多了dependencies和node modules新建文件后运行如下代码const _ = require('lodash');const ar..原创 2022-01-13 21:22:50 · 143 阅读 · 0 评论 -
[Nodejs入门] 2.nodejs初体验 ----- mac
安装好nodejs环境后,运行一个简单的nodejs代码新建一个learn 文件夹,以便以后放代码ls命令查看文件夹是否新建成功进入learn文件夹,新建文件夹test-code存放所有练习的code,再在此文件夹下新建test1文件夹并且进入test1文件夹新建一个文件index.js写如下代码const http = require('http')const server = http.createServer((req, res) => { const url原创 2022-01-13 19:53:51 · 164 阅读 · 0 评论 -
[Node.js 入门] 1.Nodejs是什么
Nodejs是基于Chrome V8引擎的Javascript运行时什么是Chrome V8引擎:chrome是一个浏览器,可执行js代码,V8是chrome的js引擎,以速度著称;nodejs也是js语法,所以可以借用V8引擎什么是运行时:代码的运行环境;有运行时,代码才能被执行,没有运行时的话,代码就是一堆静态文本Nodejs出现之前,只有浏览器才能执行js代码;浏览器主要是显示网页,所有js也被当作网页的一部分;除此之外没有其他应用场景,更没有服务端Nodejs出现之后,nodejs又是一个新原创 2022-01-12 21:48:46 · 171 阅读 · 0 评论