核心模块与文件模块
- 模块文件支持类型:
- 后缀名为.js的脚本文件
- 后缀名为.json的JSO文本文件
- 后缀名为.node的经过编译后的二进制模块文件
组织与管理模块
- 在不指定路径时,node.js会去node_modules目录下寻找
- 可以在node_modules目录下创建入口文件index.js,node.js会自动加载index.js,或者在node_modules下foo子目录下创建package.json文件
1
2
3
4{
"name": "foo",
"main": "./lib/foo.js"
} - 操作系统环境变量
NODE_PATH
,当require
只提供了文件名,并且在项目内node_mdoules
下没找到的话,回去系统环境变量指定的路径下去寻找
模块对象的属性
- module.id:当前模块ID
- module.loaded:模块加载状态
- module.parent:当前模块的父模块对象,即调用当前模块的模块对象
- module.children:存放当前模块的所有子模块对象
包与npm包管理工具
包
- 包是一个目录,包含了描述包的JSON文件package.json
- 包中有如下内容:
- 在包的根目录中存放package.json文件
- 在bin子目录中存放二进制文件
- 在lib子目录中存放JavaScript文件
- 在doc子目录存放对包或包的使用方法进行说明的文档文件
- 在test子目录中存放单元测试文件
- package.json文件
- name,包名,唯一的
- preferglobal,是否支持全局安装
- description,包说明
- version,版本号
- author,作者信息数组
- licenses,许可证数组
- keywords,关键字数组
- dependencies,依赖