美文网首页
2. node的模块简介

2. node的模块简介

作者: 萘小蒽 | 来源:发表于2019-07-10 21:48 被阅读0次

    1. CommonJs规范

    CommonJs对模块模块的定义非常简单,主要分为引用模块定义模块标识3个部分。

    1. 模块引用

    模块引用的示例代码如下:

    var math = require('math');
    

    在CommonJs规范中,存在require()方法,这个方法接受模块标识。以此引入一个模块的api到上下文中。

    2. 模块定义

    对应引入的功能,上下文提供了exports对象用于导出当前模块的方法或者变量。而且它是唯一的导出的出口。
    在模块中还存在一个module对象,它代表模块本身,exportsmodule的属性。
    在node中一个文件就是一个模块,将方法挂载到exports对象上就能作为属性即可定义导出的方式。

    //math.js
    exports.add = function () {
      var sum = 0,
        i = 0,
        args = arguments,
        j = args.length;
      while (i < j) {
        sum += args[i++]
      }
      return sum
    }
    

    在另一个文件中,我们通过require()方法引入模块后,就能调用上面导出的方法了;

    //program.js
    var math = require('./math').add
    var sum  = math(1,2,3,4)
    console.log(sum)
    //10
    
    3. 模块标识

    模块标识其实就是传递给require()方法的参数

    模块标识必须是以小驼峰命名的字符,或者以···开头的相对路径或者绝对路径,它可以没有文件名后缀(.js)。

    模块的定义简单,接口简洁,它的意义是将类聚的发方法和变量等限定在私有的作用域中,同时支持引入和到处功能顺畅的连接上下文依赖。如下面图所示,每个模块具有独立的空间,他们互不干扰,在引用时也显得利落。


    模块之间导入导出

    相关文章

      网友评论

          本文标题:2. node的模块简介

          本文链接:https://www.haomeiwen.com/subject/exofkctx.html