NodeJs模块系统

1. 核心模块

Node为js提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名的核心模块中。比如:文件操作的fs核心模块,http服务构建的http模块,path路径操作模块,os操作系统信息模块等。都是通过

require('fs');

进行引入后使用。

2.模块系统
  1. Node中,模块有三种

    1. 具名的核心模块,例如:fs,path
    2. 用户自定义模块
      1. 引入的相对路径必须加./,不能省略,否则报错
      2. 可以省略后缀名,默认访问js文件
    3. 第三方模块
  2. 作用域

    1. Node中没有全局作用域,只有模块作用域
    2. 外部访问不到内部
    3. 内部访问不了外部
    4. 默认是封闭的
    5. 模块之间的通信通过require返回值实现
  3. require()

    1. 作用:加载模块,为了执行模块里面的代码以及使用其内的成员

    2. 返回值:加载文件模块导出的接口对象

    3. 每个文件模块中都提供了一个对象:exports对象,用于与外界模块之间进行通信,将外部需要访问的数据通过挂载在exports对象上进行使用

    4. exports默认是一个空对象

      // a.js
      exports.num = 1;// 导出变量num
      
      // b.js
      var ex = require('./a');// 接收到处接口对象ex
      console.log(ex.num);// 使用对象上挂载的数据
      
    5. 注:

      1. 挂载在exports上面的数据,在被加载模块上也可以通过exports来使用。

猜你喜欢

转载自blog.csdn.net/chen__cheng/article/details/114370055