美文网首页
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