node
文章平均质量分 54
不帅的喆
https://github.com/fancyzhe
展开
-
NodeJS Module实现原理
**Node引入模块的时候: 路径分析 -> 文件定位 -> 编译执行** **对应加载module加载顺序 缓存加载 -> 核心模块->自定义模块** 核心模块指的是fs,http等 1.路径分析 相对路径模块在分析路径的时候,require会把路径变成真实路径。以绝对路径作为索引,编译执行后放入...原创 2018-05-22 18:04:08 · 718 阅读 · 0 评论 -
Node基础(1)--模块机制
JavaScript从最开始的表单校验到现在的大型应用,大概经历工具类库、组件库、前端框架、前端应用的变迁。在经过了很长时间的努力,JavaScript不断被类聚和抽象,通过script标签的方式去引用代码的方式显得杂乱无章。不得不使用命名空间的方式去约束代码,以达到安全易用的目的。 JavaScript的痛点在 没有模块系统 标准库较少 没有标准的接口 缺乏包管理系统 CommonJS规...原创 2018-11-25 18:59:39 · 578 阅读 · 0 评论 -
Node基础(2)-- 异步I/O和异步编程
阻塞和非阻塞 操作系统内核对于I/O操作只有两种方式,阻塞和非阻塞。 阻塞是要等事件在系统内核层面完成所有的操作,才是调用结束可以进行下一个调用。造成了一定的CPU浪费,CPU不能得到充分利用。 阻塞调用->等待数据->返回数据 非阻塞调用不带数据返回,调用后立即返回。返回过后,CPU就可以执行其他的事件,如果需要获取数据的话,需要通过文件描述符再次获取。 非阻塞调用-...原创 2018-12-17 09:43:03 · 247 阅读 · 0 评论 -
用Node从零开始实现小爬虫
前言 node和Python一样适合做爬虫爬取数据进行解析输出相应格式的json数据。 这个项目爬虫的基本原理在,获取到页面的HTML内容,使用cheerio去解析HTML,操作DOM节点获取数据。 技术栈 node+express+axois 项目运行 git clone https://github.com/fancyzhe/nodeGetData.git npm install npm st...原创 2019-03-04 11:29:28 · 307 阅读 · 0 评论 -
通过实现getData接口了解egg.js
egg的路由跟umi的路由比较相似,是一种约定式路由的实现。UMI是在指定文件夹下建立相应文件,umi会自动生成路由配置。 对下面这段代码进行增加修改: 'use strict'; //脚手架生成的router.js /** * @param {Egg.Application} app - egg application */ module.exports = app => { co...原创 2019-03-27 15:30:40 · 892 阅读 · 0 评论