深入浅出Node.js - 脑图
此文章转载自深入浅出Nodejs读书笔记
1.函数式编程
1 | var isType = function(type) { |
1.异步I/O与非阻塞I/O
轮询
获取数据
1.AMD规范:define(id?, dependencies?, factory);
1 | define(['dep1', 'dep2'], function(dep1, dep2){ |
2.CMD规范:define(factory)
1
2
3define(function(require, exports, module){
//模块代码
});
1.核心模块分为C/C++编写的和JavaScript编写的两部分,C/C++文件存放在src目录下,js文件存放在lib目录下,C\C++编写的部分称为内建模块,JavaScript编写的称为核心模块
2.核心模块的编译过程
js2c.py
工具编译js模块文件为C/C++代码,并以字符串的形式存储到node命名空间,不可直接执行3.核心模块的引入流程,已os模块为例:require('os')-->NativeModule.require("os")-->process.binding("os")-->get_builtin_module("node_os")-->NODE_MODULE(node_os, reg_gunc)
1.加载模块的3个步骤
2.加载顺序
3.路径分析、文件定位、模块编译
1.Node的特点
child_process
javascript
执行在单线程中而已,内部I/O另有线程池libuv
实现跨平台 2.Node的应用场景