nodejs06

Commonjs

commonjs模块规范,规定了Nodejs中模块规范,二进制规范,网络规范等。CommonJS是一种规范,NodeJS是这种规范的实现。

exports

  1. exports是module.exports的别名,两者等价
  2. 切断引用
//module.exports是老大
module.exports = function () {};
exports.a = "yf";

require加载规则

  1. 优先从缓存加载
  2. 核心模块
  3. 自定义模块
  4. 第三方包
  • 包可能包含多个模块
  • 找node_modules
    • 默认在该文件同级找
    • 找不到向上找
  • 在引包的时候,过程如下
    • 找node_modules
    • 找moment目录
    • 找package.json
    • 找main属性
    • 找main属性对应的文件
    • 如果有任一环节出错,会在该目录找index.js

UMDjs

Universal Module Definition work everywhere

  1. 兼容多种javascript模块规范
  • 在nodejs中可以作为第三方包
  • 在require中可以作为模块加载
  • 在js原生中可以使用script引入
  1. 这种代码与环境无关
//先检查是不是服务端环境
//不是,就检查是不是requirejs,其中define不仅要是函数,而且要有环境
//如果还不是,那么有一个全局对象moment
;(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
    typeof define === 'function' && define.amd ? define(factory) :
    global.moment = factory()
}(this,(function () {}))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容