Node.JS核心模块之module分析
2016-05-24 12:27
567 查看
测试文件.js:
/**
* Created by cherish on 2016/5/24.
* 核心模块之module分析
*
* module模块和package包是NodeJs中最重要的支柱(两者可以相互混淆,本质上没什么区别)
*
* 包是实现了某个功能模块的集合
*
* 什么是模块?
* a.模块和文件是一一对应的,一个文件就是一个模块(在NodeJS中)
*
* 例:var http=require('http');//把http模块导入项目中获取它的对象
*
* 如何创建我们自己的模块?
* 如下所示:
*/
//myMD和myMD1实际上指的是同一个实例,第一次发现没加载过,会重新创建一个
//但第二次发现加载过了,不会再创建另外一个实例,而是创建一个拷贝出来,那么就会 发现它们指向一个实例
var myMD=require('./MyModule');
myMD.setName("flower");
var myMD1=require('./MyModule');
myMD1.setName("cherish");
myMD.sayHello();
var myMD2=require("./MyModule01");
var hello=new myMD2();
hello.setName("flower");
hello.sayHello();
MyModule.js:
/**
* Created by cherish on 2016/5/24.
* 建一个我们自己的模块
*/
var name;
exports.setName=function(theName){
name=theName;
};
exports.sayHello=function(){
console.log("hello-----------"+name);
};
MyModule01.js:
/**
* Created by cherish on 2016/5/24.
* 模块另一种写法
*/
function Hello(){
var name;
this.setName=function(theName){
name=theName;
}
this.sayHello=function(){
console.log(name+"---------------good afternoon");
}
}
//导出一个Hello的API给人使用,但是有时候点Hello比较麻烦
//xports.Hello=Hello;
//通常这样用,exports是module.exports的引用
module.exports=Hello;
/**
* Created by cherish on 2016/5/24.
* 核心模块之module分析
*
* module模块和package包是NodeJs中最重要的支柱(两者可以相互混淆,本质上没什么区别)
*
* 包是实现了某个功能模块的集合
*
* 什么是模块?
* a.模块和文件是一一对应的,一个文件就是一个模块(在NodeJS中)
*
* 例:var http=require('http');//把http模块导入项目中获取它的对象
*
* 如何创建我们自己的模块?
* 如下所示:
*/
//myMD和myMD1实际上指的是同一个实例,第一次发现没加载过,会重新创建一个
//但第二次发现加载过了,不会再创建另外一个实例,而是创建一个拷贝出来,那么就会 发现它们指向一个实例
var myMD=require('./MyModule');
myMD.setName("flower");
var myMD1=require('./MyModule');
myMD1.setName("cherish");
myMD.sayHello();
var myMD2=require("./MyModule01");
var hello=new myMD2();
hello.setName("flower");
hello.sayHello();
MyModule.js:
/**
* Created by cherish on 2016/5/24.
* 建一个我们自己的模块
*/
var name;
exports.setName=function(theName){
name=theName;
};
exports.sayHello=function(){
console.log("hello-----------"+name);
};
MyModule01.js:
/**
* Created by cherish on 2016/5/24.
* 模块另一种写法
*/
function Hello(){
var name;
this.setName=function(theName){
name=theName;
}
this.sayHello=function(){
console.log(name+"---------------good afternoon");
}
}
//导出一个Hello的API给人使用,但是有时候点Hello比较麻烦
//xports.Hello=Hello;
//通常这样用,exports是module.exports的引用
module.exports=Hello;
相关文章推荐
- 【nodeJS】webstorm中设置nodej智能提示
- MonoDeveloper在windows下中文显示解决方案
- Node.JS核心模块之全局对象和常用工具
- Node.Js上传图片
- 【leetcode】19. Remove Nth Node From End of List
- 《Nodejs开发加密货币》之十五:加密货币就是货币
- selectNode、selectNodeContents 区别
- LeetCode 116. Populating Next Right Pointers in Each Node(右邻)
- LeetCode 117. Populating Next Right Pointers in Each Node II(右邻)
- task2-nodejs 文件处理cheerio群里有不是本学校的人加入,判断一下
- 读书笔记之《深入浅出Node.js》(1)
- express-session(express4.0与express 3.0的区别)
- Node.js简介
- nodejs完整登陆交互
- nodejs模拟get,post 进行字符统计功能
- Node.js的路由跳转的一点理解
- Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateK
- Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
- npm package.json 指定node版本号码 engines
- 浅尝Node文件系统