zoukankan      html  css  js  c++  java
  • node与commonjs模块规范

    在node中有一个全局变量global,它的作用和网页中的window类似:

    1. 在全局中创建的变量都会作为globle的属性保存

    2. 在全局中创建的函数都会作为globle的方法保存
      当node在执行模块中的代码时,它会首先在代码的最顶部,如下代码:

      function(exports,require,module,__filename,__dirname){
      //中间代码部分省略
      }
      

    实际上模块中的代码都是包装在一个函数中执行的,并且在函数执行时,同时传递进了5个时参:

    1. exports
    • 该对象用来将变量或函数暴露到外部
    1. require
    • 函数,用来引入外部的模块
    1. module
    • module代表的是当前模块本身
    • exports就是module的属性
    1. __filename
    • 当前模块的完整路径,通过此路径可以找到该模块
    1. __dirname
    • 当前模块所在文件夹的完整路径

    注意 module.exports==exports 本质上是一样的 没有区别

    exports和module.exports:

    1. 通过exports只能使用.的方式来向外暴露内部变量
      • exports.xxx=xxx
    2. 而module.exports既可以用过.的形式,也可以用过直接赋值的方式
      • module.exports.xxx = xxx
      • module.exports = { }
    var obj = {};
    obj.a={};
    var a =obj.a;
    a.name="name"
    a=new object();
    console.log(obj.a.name);
    
  • 相关阅读:
    Java [leetcode 33]Search in Rotated Sorted Array
    JAVA方法和本地方法(转载)
    Java集合框架
    常用排序算法
    Java [leetcode 32]Longest Valid Parentheses
    四大组件的生命周期
    Android Service即四大组件总结
    Java [leetcode 31]Next Permutation
    android 组件设置屏幕大小
    MenuInflater用法
  • 原文地址:https://www.cnblogs.com/lautung/p/13984244.html
Copyright © 2011-2022 走看看