zoukankan      html  css  js  c++  java
  • CommonJS的模块规范

    1.模块引用

    math.js

    function add(v1,v2){
        return v1+v2;
    }
    module.exports.add = add;
    //也可以用.exports.add = add;不过建议用module.exports,因为有时候exports需要直接赋值,如果直接使用exports=XXX,只是改变了形参

    main.js

    var m = require('math'); //也可以用math.js,一般省略“.js”
    
    var result = m.add(4, 1);//m其实就是math.js中的exports变量
    console.log(result); 

    它的意义在于将类聚的方法和变量等限定在私有的作用域中。CommonJS构建的这套模块导出和引入机制使得用户完全不必考虑变量污染。 

     2. 代码本质

     编译和执行是引入文件模块的最后一个阶段,定位到具体文件后,Node会新建一个Module对象,然后根据路径载入并编译。

     在执行之后,模块的exports属性被返回给了调用方。

    3. 既然exports是module对象的一个属性,直接用exports即可,那么为什么还需要存在module.exports

       因为有时候require需要引入一个类,这个时候就需要使用module.exports=function(){XXX}。

  • 相关阅读:
    大数乘法
    大数阶乘
    存js导入excel文件
    设计模式详解
    javascript的api设计原则
    从零开始nodejs系列文章
    git的学习
    如何暴力学英语
    Vsftpd
    shell命令学习
  • 原文地址:https://www.cnblogs.com/dongfangchun/p/15635225.html
Copyright © 2011-2022 走看看