【Node】模块加载过程
来源:互联网 发布:apache 安装版 编辑:程序博客网 时间:2024/06/05 08:08
1、JS/JSON/Node模块
Module.runMain或Module.require
(1)路径解析
(1)内置JS模块:直接返回
(2)构造查找路径
(1)模块名/绝对路径:parentPaths+globalPaths
(2)相对路径-无父模块:'.'.node_modulesPaths+'.'+globalPaths
(3)相对路径-有父模块:
(3)查找模块路径(按照查找路径)
(1)
(2)加载模块
(1)cachedModule
(2)内置JS模块 NativeModule.require
(3)外部模块 module.load
(1)设置模块路径的node路径(node_modules)
(2)根据扩展名解析(.js/.json/.node)
(1).js readFileSync
Module._compile:封装->加载
(2).json JSON.parse
(3).node process.dlopen
Module.globalPaths:
HOME/.node_libraries
HOME/.node_modules
NODE_PATH
NODE_BIN/../../lib/node
Module.paths:
/..../..../..../node_modules
/..../..../node_modules
/..../node_modules
/node_modules
2、C++模块
process.binding(modname)->Binding->binding_cache->get_builtin_module->initialize
- 【Node】模块加载过程
- node模块加载机制
- node加载模块
- Node.js 模块加载机制
- node.js 模块加载机制
- FreeSwitch 模块加载过程
- insmod加载模块过程
- 内核模块加载过程
- node的模块加载与管理
- node.js(3) 模块加载机制
- node.js require 加载自己的模块
- node.js 加载mysql模块问题
- insmod 加载模块的过程
- insmod 加载模块的过程
- insmod 加载模块的过程
- 03、模块加载过程解析
- Linux 驱动模块编译,加载过程
- FreeSwitch 的初始化及其模块加载过程
- Linux下用c语言实现发送http请求 方式可以Get或者Post
- vi 常用命令行
- RAC 实例不能启动
- sbt中使用log4j
- PHP实现即时将结果输出到浏览器
- 【Node】模块加载过程
- oracle 等待事件查询
- print spooler服务经常被自动关闭,导致打印不起来
- linux编程学习笔记(十二) 遍历目录
- 获取POSIX视图属性---POSIX
- ESRI支持的ISO/TC 211国际标准
- 拓展聋哑儿童交流的空间和渠道---基于Kinect的手语实时翻译系统
- linux 压缩文件的命令总结
- android-关于socket编程(附上如何获取安卓机的ip)