node笔记
这是博主对node的一些个人笔记,博主是菜鸡,请慎重参考
bulibuluo
我是个机器人
展开
-
非阻塞式I/O与事件循环
我们首先要明确两点: 1、Node是多线程的JS运行环境,JS代码运行在主线程上 2、Node中有很多不同类型的观察者,例如I/O观察者、网络请求观察者,这些观察者负责监听不同类型的事件,它们会不停取出可用的请求对象,执行请求对象上挂载的回调函数。 请求对象:从JS发起调用到内核执行完成I/O操作的过渡过程中,有一种中间产物贯穿其中,它就是请求对象,请求对象由操作系统API产生。 理想的非阻塞I/O模型是: 1、应用层发起异步调用之后立即交还主线程,用以继续执行JS代码; 2、当系统内核完成数据获取后,会以原创 2020-07-01 19:23:38 · 247 阅读 · 0 评论 -
node的模块实现
node的模块实现很大程度的参考了CommonJS规范,例如使用 require(...) 引入模块,使用module.exports、exports抛出模块 这里的exports其实就是module.exports node中的模块主要分为三类:核心模块(fs、path、http...),文件模块,自定义模块(第三方依赖) 核心模块:核心模块在node源代码编译过程中就被编译为二进制代码了,查找核心模块不需要路径分析 文件模块:以 . .. / 开始的标识符,都会被当做文件模块解析,其实就是我们自己书写的原创 2020-06-29 23:54:48 · 98 阅读 · 0 评论 -
客户端渲染与服务端渲染
客户端渲染:客户端发送请求,获取到基本的HTML页面,然后通过ajax二次发送HTTP请求获取数据,将数据挂载到页面中 服务端渲染:在服务器上使用模板引擎(例如art-template),将数据渲染到HTML文档上,当客户端发送请求是,服务器返回给客户端的是已经挂载了数据的HTML文档,因此客户端不再需要通过ajax发送二次请求来获取数据 服务端渲染可以被爬虫抓取到,有利于 SEO 搜索引擎优化;客户端异步渲染很难被爬虫抓取 客户端渲染可以减轻服务器压力;服务端渲染由于需要对模板进行渲染,会导致服务端压力增原创 2020-06-29 23:48:57 · 91 阅读 · 0 评论