编程语言
首页 > 编程语言> > Node使用CommonJS规范

Node使用CommonJS规范

作者:互联网

Node使用CommonJS规范
1.模块引用
    1. require
        - require():通过此函数来引入外部的模块
        - 传递一个文件的路径作为参数,node将会自动根据该路径来引入外部模块
        - 这里的路径如果使用相对路径,必须以 . 或 .. 开头
            require("./02.module.js")
    
    2. 使用require()引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块
            var md = require('./02.module.js')
            console.log(md.x)
    
2.模块定义
    1. 在Node中,一个js文件就是一个模块
        每一个js文件中的代码都是独立运行在一个函数中的(局部变量),所以一个模块中的变量和函数在其他模块中无法访问
        相当于默认有一个匿名函数自调用

    2. exports
        - 通过向外暴露属性和方法来让其他人调用:将变量或方法设置为 exports 的属性
            exports.x = 10
            exports.y = 'str'
            exports.fn = function(){}
    
3.模块标识
    1.使用require()引入模块时,使用的就是模块标识,可以通过模块标识来找到指定的模块
    2.模块分成两大类:
        核心模块:
            - 由node引擎提供的模块
            - 核心模块的标识就是模块的名字
                fs
        文件模块:
            - 由用户自己创建的模块
            - 文件模块的标识就是文件的路径(绝对路径 / 相对路径)
                相对路径使用 . 或 .. 开头

Node.js中的全局是global,它的作用和网页中的window类似
    - 在全局中创建的变量都会作为global的属性保存
    - 在全局中创建的方法都会作为global的方法保存
    - console.log(arguments.callee+"")    打印global全局
        arguments.callee: 这个属性保存的是当前执行的函数对象

        function (exports, require, module, __filename, __dirname) { 
        
        }
    - 实际上模块中的代码都是包装在一个函数中执行的,并且在函数执行时,同时传递进了5个实参
        exports:将变量或函数暴露到外部
        require:函数,用来引入外部的模块
        module:代表的是当前模块本身
            - 实际上exports就是module的属性
            - exports === module.exports
        __filename:当前模块的完整路径
        __dirname:当前模块所在文件夹的完整路径

 

标签:Node,CommonJS,函数,require,exports,module,规范,模块,js
来源: https://www.cnblogs.com/cjxstart/p/15967823.html