美文网首页
Node.js基础-模块

Node.js基础-模块

作者: 槿丶 | 来源:发表于2018-12-18 12:05 被阅读0次

    Node中的JavaScript

    • ECMAScript
    • 核心模块
    • 第三方模块
    • 用户自定义模块
    核心模块

    Node为JavaScript提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名的核心模块中。

    例如文件操作的fs核心模块,http服务构建的http模块,path路径操作模块,os操作系统信息模块

    等......

    const fs = require('fs')
    //requier是一个方法,用来加载模块
    
    用户自定义模块

    require、exports

    • 用户自己编写的文件模块

      • a.js文件
      console.log('a start');
      require('./b.js');//相对路径的./不能省略  可以省略文件后缀名require('./b')
      console.log('a end')
      
      • b.js文件
      console.log('b')
      
      • 最终执行结果为:a start 、b、a end
    • Node中,没有全局作用域,只有模块作用域

      • a.js文件
      var foo = 'aaa';
      require('./b.js');
      console.log(foo);
      
      • b.js文件
      var foo = 'bbb';
      console.log(foo)
      
      • 执行a文件:bbb、aaa
    • 既然是模块作用域,那如何让模块之间进行通信

      有时候,加载模块的目的不是为了简单的执行里面的代码,而是为了使用里面的某个成员

      require有两个作用:

      1. 加载文件模块并执行里面的代码
      2. 拿到被加载文件导出的接口对象exports
      • a.js文件

        let bExports = require('./b');
        console.log(bExports)
        
      • b.js文件

        exports.foo = 'hello';
        
      • 执行a文件:{ foo: 'hello' }

    相关文章

      网友评论

          本文标题:Node.js基础-模块

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