《Node web开发》笔记
还是因为学习kibana,才开始了解node。
Node是一种基于事件驱动的异步系统,基于Chrome的引擎V8。
Node中由于大量的使用模块,因此出现了很多开源模块,有点像java社区的样子。
笔记源码参考:我的github
下面是一边看书,一边整理的小知识点:
Node基础
1 node是基于事件驱动的异步系统。创建可扩展网络服务器的简单方式。受event machine和twisted影响。
2 js匿名函数、单线成执行的事件驱动架构。事件驱动,内存占用量低,吞吐量高,编程模型简单。实现以非阻塞的IO事件循环机制和文件网络IO库为中心,以V8 js引擎为基础。
3 Node = 高速事件驱动IO + V8高速js引擎。
4 Node使用CommonJS模块系统。
5 语言前后端统一的好处:代码容易迁移,使用相同的数据格式,相同的开发工具,相同的测试和质量评估工具,前后端相似的编程风格。
6 Node通过事件轮寻机制实现异步触发回调函数。
Node模块
1 每一个js文件都是一个模块
2 解析require('module')
3 定义模块:1 相对路径 2 绝对路径 3顶级目录
4 js查找模块会先从当前目录开始查找node_modules,逐层向上查找
5 npm install xxxx 安装
npm search xxxx 查询
npm view xxxx 查看json文件
6 开发 和发布npm包:
npm init创建package.json
创建包源文件
7 npm install 在根目录中执行,将当前以来关系和目录安装到本地node_modules目录;利用本地文件或者Url利用网络安装压缩node包。
8 npm list 列出所有的安装包