// 模块的定义:
// commonjs规范定义模块:创建的每一个js文件都是一个单独的块
// 模块接口的暴露
// 使用module.exports关键字来暴露
// 也可以使用另一个关键字来暴露:exports
// 区别:exports仅仅只是modul.exports的一个引用
// 相当于在每个模块中都有这么一段代码: exports = module.exports
// 为什么有了module.exports之后还有来一个exports呢?
// 为了操作方便
// 模块的引用入、:
// 使用require关键字来引用其它模块
// 自定义模块:
// require("./a.js");
// 自定义模块的引用一定会带着路径:/,./,../
// 第三方模块:
// require("moment");
// require("art-template");
// 加载顺序:
// - 先在当前文件的模块所属目录去找 node_modules目录
// - 如果找到,则去该目录中找 moment 目录
// - 如果找到 moment 目录, 则找该目录中的 package.json文件
// - 如果找到 package.json 文件,则找该文件中的 main属性
// - 如果找到main 属性,则拿到该属性对应的文件
// - 如果找到 moment 目录之后,
// - 没有package.json
// - 或者有 package.json 没有 main 属性
// - 或者有 main 属性,但是指向的路径不存在
// - 则 node 会默认去看一下 moment 目录中有没有 index.js ,index.node, index.json 文件
// - 如果找不到index 或者 找不到 moment 或者找不到 node_modules
// - 则进入上一级目录找 node_moudles 查找(规则同上)
// - 如果上一级还找不到,继续向上,一直到当前文件所属磁盘的根目录
// - 如果到磁盘概目录还没有找到,直接报错
// 核心模块:
// require("fs");
// require("http");
// require("url");
// 核心模块的引用直接引用模块名称就可以,是直接去nodejs.exe中去找到对应的模块文件
// 模块的兼容处理:
// art-template:
// 可以在浏览器环境下面使用:window
// 也可以在node环境下面使用:
04_04.commonjs规范.js
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本文首发于我的个人网站:http://cherryblog.site/ (背景更换了不知道大家有没有发现呢,嘻嘻)...
- 背景:在node.js中,我们经常能在js文件中看到module.exports这句话,它是干嘛用的 要介绍mod...