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