Node六-模块化

Node实现CommonJS规范

  -因此node可以使用模块化的方式组织代码结构

 简单命令行加减运算

  -代码

  

  命令行执行

  

V8对es6的支持

  -直接支持:const、模版字符串等。

  -严格模式支持:let等

  -根本不支持

  

 模块化代码结构

  -Node采用的模块化结构是按照  CommonsJS规范

  -模块与文件是一一对应关系,即加载一个模块,实际上就是加载对应的一个模块系统。

将上述代码进行模块化

  -将计算逻辑提取

    

  -修改代码,使用模块化

  

  -node里面可以使用模块化
  -node模块化使用commonjs,不用define
  -es6自动属性

 模块的分类

  -文件模块

    --就是我们自己写的功能块文件

  -核心模块

    --node平台自带的一套基本的功能模块>node平台的API

  -第三方模块

    --社区或第三方个人开发的功能模块,可以直接拿回来用

模块化开发的流程

  -创建模块>new demo.js

  -导出成员>module.exports = {}

  -载入模块>car demo = require()

  -使用模块>demo.method()

模块内全局对象

  -我们在之后的文件操作中必须使用绝对路径

  -__dirname

    --用于获取当前文件所在目录的完整路径

    --在REPL环境无效

  -__filename

    --用来获取当前文件的完整路径

    --在REPL环境同样无效

  -dirname、filename因为在REPL环境中无效,因此认为其是伪全局对象

 

模块内部私有空间

  -不导出,外界就不能访问,不会污染全局

  

 模块的定义

  -一个新的JSwe文件就是一个模块

  -一个合格的模块应该是有导出成员的,否则模块就失去了定义的价值

  -模块内部是一个独立(封闭)的作用域>模块与模块之间不会冲突

  -模块之间必须通过导出或导入的方式协同

  -导出方式

     --exports.name = value;

     --module.exprots = {};

原文地址:https://www.cnblogs.com/nordon-wang/p/6047537.html