node.js模块 --学习笔记

作者: Mr_欢先生 | 来源:发表于2017-08-04 19:41 被阅读66次

    模块

    1.在Node.js中,以模块为单位划分所有功能,并且提供了一个完整的模块加载机制,这时的我们可以将应用程序划分为各个不同的部分
    2.狭义的说,每一个JavaScript文件都是一个模块;而多个JavaScript文件之间可以相互require,他们共同实现了一个功能,他们整体对外,又称为一个广义上的模块
    3.Node.js中,一个JavaScript文件中定义的变量、函数,都只在这个文件内部有效。当需要从此JS文件外部引用这些变量、函数时,必须使用exports对象进行暴露。使用者要用require()命令引用这个JS文件。


    1.一个JavaScript文件,可以向外exports无数个变量、函数。但是require的时候,仅仅需要require这个JS文件一次。使用的它的变量、函数的时候,用点语法即可
    • msg.js文件
    /**
     * Created by ubuntu on 17-8-4.
     */
    var msg ="你好,我是msg.js中的变量"
    
    var data = {name:"小明",password:"456123"}
    
    function info() {
        console.log(data.name+""+data.password)
    }
    //讲文件暴露出去
    exports.msg = msg;
    exports.data = data;
    exports.info = info;
    

    js文件中,可以用exports暴露很多东西,比如函数、变量。

    • index.js 文件
    var msg = require("./test/msg.js");
    
    console.log(msg.msg);
    console.log(msg.data);
    msg.info();
    

    在使用者中,只需要require 一次。
    相当于增加了顶层变量。所有的函数、变量都要从这个顶层变量走


    2.可以将一个JavaScript文件中,描述一个类。用module.export = 构造函数名的方式向外暴露一个类
    • people.js 文件
    function People(name,age,password) {
        this.name = name;
        this.age = age;
        this.password = password;
    }
    People.prototype = {
        sayHello:function () {
            console.log(this.name+this.age+this.password);
        }
    }
    
    module.exports = People;
    
    • index.js文件
    var People = require("./test/msg.js");
    
    var onePeople = new People("小明","男","456788");
    onePeople.sayHello();
    
    

    3.两种方式总结:js文件和js文件之间有两种合作的模式:

    1) 某一个js文件中,提供了函数,供别人使用。 只需要暴露函数就行了; exports.msg=msg;
    2) 某一个js文件,描述了一个类。 module.exports = People;

    如果在require命令中,这么写:
    var foo = require("foo.js"); //没有写./, 所以不是一个相对路径。是一个特殊的路径
    那么Node.js将该文件视为node_modules目录下的一个文件

    npm

    去npm社区搜索需求,然后点进去,看api。npm官网
    如果要配置一个模块npm install 模块名字就可以安装。
    安装的时候,要注意,命令提示符的所在位置。

    相关文章

      网友评论

        本文标题:node.js模块 --学习笔记

        本文链接:https://www.haomeiwen.com/subject/oyqvlxtx.html