NodeJS学习笔记(四)

模块

一个js文件就是一个模块

//hello.js

exports.world = function(){
    console.log('Hello World');
}

//main.js

var hello = require('./hello'); //自动帮你寻找到js后缀的hello文件
hello.world(); //输出Hello World

把一个对象封装到一个模块

//hello.js

function Hello(){
    var name;
    this.setName = function(newName){
        name = newname;
    };
    this.sayHello = function(){
        console.log('Hello'+name);
    };

};

module.exports = Hello;

//main.js

var Hello = require('./hello');
hello = new Hello(); //有趣,函数当对象用了,还new对象
hello.setName('jimmy');
hello.sayHello(); //打印 HelloJimmy

require加载逻辑

require执行后,先看是否在文件模块缓存区中,是的话,直接用。如果不是,我们来看是否是原生模块。是原生模块的话,我们检查是否在原生模块缓冲区中,是的话,直接用,不是的话,加载原生模块,再缓存原生模块,然后使用。假如不是原生模块,我们查找文件模块,根据扩展名载入文件模块,并且缓存文件模块,再执行。执行就是exports

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值