本仓库为死月所著《Node.js:来一打 C++ 扩展》的随书源码,大家尽情享用。
注意:所有的随书代码均在 macOS 命令行下 Node.js 6.x 测试通过。理论上,它们也可以在 Windows 和 UNIX 上运行良好,但我并没有验证过。
本源码可从博文视点官方网站上下载。如果你对 Git 熟悉,且愿意使用 Git 克隆本仓库使用源码,非常欢迎。
如果需要克隆本仓库,可以使用以下命令行:
$ git clone https://github.com/XadillaX/nyaa-nodejs-demo.git --recurse-submodules
--recurse-submodules
参数允许你连通 submodule 一起克隆下来。由于 GitHub 的特性,如果你直接从 GitHub 的本页面上直接通过 Download ZIP 链接下载压缩包,将不会包含一些必要依赖的 submodule。所以如果你想通过压缩包下载的形式获取源码,请转到博文视点官方网站。
- first build:「1.4.2. node-gyp」
- cpp entry:「2.2.2. Node.js 模块加载原理」
- function template:「3.6.1. 函数模板(Function Template)」
- object template:「3.6.2. 对象模板(Object Template)」
- object template accessor:「3.6.3. 对象模板的访问器(Accessor)与拦截器(Interceptor)」
- mapped property interceptor:「3.6.3. 对象模板的访问器(Accessor)与拦截器(Interceptor)」
- indexed property interceptor:「3.6.3. 对象模板的访问器(Accessor)与拦截器(Interceptor)」
- internal field wrong:「3.6.4. 对象模板的内置字段(Internal Field)」
- internal field right:「3.6.4. 对象模板的内置字段(Internal Field)」
- function template inherit:「3.6.5. 函数模板的继承(Inherit)」
- array prototype map:「3.7.6. 函数(Function)」
- try catch:「3.8.1. Try-Catch」
- hello world again:「4.2.1. 又是 Hello World」
- function parameters:「4.2.2. 函数参数」
- run callback:「4.2.3. 回调函数」
- object factory:「4.2.4. 对象返回」
- function factory:「4.2.5. 函数返回」
- myobject:「4.3.1. C++ 与 JavaScript 类封装」
- at_exit_hook:「4.3.4. 进程退出钩子」
- nan echo:「5.2.3. 来不及解释了,先上车」
- nan array prototype map:「5.2.4. 基础帮助函数和宏」
- nan set method:「5.3.3. 函数设置」
- nan reverse string:「5.4.3. 与数据对象“玩耍”」
- nan object demo:「5.4.3. 与数据对象“玩耍”」
- nan array demo:「5.4.3. 与数据对象“玩耍”」
- nan json:「5.4.3. 与数据对象“玩耍”」
- nan buffer:「5.4.3. 与数据对象“玩耍”」
- nan nbodies:「5.5.3. Nan::AsyncWorker」
- nan dummy download:「5.5.4. Nan::AsyncProgressWorker」
- libuv idle:「6.1.3. 尝个甜头」
- libuv sleep sort:「6.2.1. libuv 的线程」
- libuv sleep sort advanced:「6.2.2. 同步原语(Synchronization Primitives)」
- libuv watchdog:「6.3.2. Watchdog 半成品实战解析」
- efsw:「7.1.1. 功能规划」
- efsw advanced:「7.4.2. JavaScript 代码完善」
- napi:「9.1.1. 实现一个
Echo
函数」
最后,感谢大家支持本书。
图片来自 Pixiv