CommonJS模块化与规范


CommonJS模块的特点:

  1-> 所有代码都运行在模块作用域,不会污染全局作用域。

    Node 应用由模块组成,采用 CommonJS 模块规范。

    每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。

  2-> 模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。

  3-> 模块加载的顺序,按照其在代码中出现的顺序。

实际应用:

  require 引入模块 输入模块

  使用方法:require('模块名')

    不指定路径: 先找系统模块-> 再从项目环境找node_modules|bower_components (依赖模块)->not found
    指定路径 : 指定路径 -> not found
    require(./utils).xx 按需引用

  exports 导出,批量输出 都是属性     

    exports.自定义属性=值(any) 输出带接口 require(模块文件名)=modA modA是个模块实例{自定义属性}

    module 默认输出 any 只能输出一次
        module.exports = {
                自定义属性:值
                }

  module.exports=对象/fn/class require('..')=modA modA 是一个fn或者是类class本身.

  注:commonJS 是 nodejs 默认模块管理方式,不支持es6的模块化管理方式,但支持所有es6+语法.

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM