node.js基础:模块的创建和引入

  模块可能是一个文件,也可能是包含一个或多个文件的目录。如果模块是个目录,node.js通常会在这个目录下找一个叫index.js的文件作为模块的入口。

  典型的模块是一个包含exports对象属性定义的文件,这些属性可以是任意类型的数据,比如字符串、对象和函数。

  创建一个模块 

//person.js
var name = 'lbs';
var age = 10;
function sayName(){
	console.log( name );
}
function sayAge(){
	console.log( age );
}
exports.sayName = sayName;
exports.sayAge = sayAge;

   引入一个模块

//index.js
var person = require('./person');
person.sayName();
person.sayAge();

   require函数以要用的模块的路径为参数。

   引入一个以 ./ 开头的模块意味着:当前文件和被引用的文件属于同一级目录(这里的person.js 和 index.js 位于同一个目录下)。

   引入时 .js 扩展名可以忽略。

   如果需要从模块中得到单个变量、函数或者对象,用module.exports

//person.js
var Person = function(){
	this.name = 'lbs';
	this.age = 10;
};
Person.prototype = {
	sayName: function(){
		console.log( this.name );
	},
	sayAge: function(){
		console.log( this.age );
	}
};
module.exports = Person;

//index.js
var Person = require('./person');
var person = new Person();
person.sayName();
person.sayAge();

   如果模块是目录,在模块目录中定义模块的文件必须被命名为index.js。除非在这个目录下一个叫package.json的文件里特别指明。要指定一个取代index.js的文件,package.json文件里必须有一个用JavaScript对象表示法(JSON)数据定义的对象,其中有一个名为main的键,指明模块目录内主文件的路径。

     exports是模块的公开接口

   require从外部获取一个模块接口(获取的模块是exports对象)

     

posted @ 2015-08-19 09:27  eyeear  阅读(1755)  评论(0编辑  收藏  举报