Node.js模块的了解(三)
2015-05-01 19:57
253 查看
1.模块的分类:
模块分为两种:原生模块和文件模块。原生模块即Node.js
API提供的原生模块,原生模块在启动时已经被加载,文件模块(即自己写的Node.js文件)为动态加载的模块,加载文件模块的工作主要由原生模块 module来实现和完成,通过调用Node.js的require方法来实现加载。
需要注意的是,Node.js会对原生模块和文件模块都进行缓存,因此在第二次require该模块时,不会重复开销去加载模块,只需要从缓存中读取相应模块数据即可。
2.原生模块的调用:
var http=require('http');
requie加载成功后会返回一个Node.js模块的对象,该对象拥有该模块的所有属性和方法。
3.文件模块的调用:
加载原生模块时不需要指定模块路径,而文件模块加载时必须指定文件路径,否则会提示错误can not find xxx module.这里可以使用绝对路径与相对路径。绝对路径需要一个完整的Node.js文件的路径名,相对路径则需要在路径前添加一个“./"。
当加载了一个文件模块后,只有exports和module.exports对象暴露给该外部的属性和方法,才能够通过返回的require对象进行调用,其他方法和属性是无法获取的(类似于private public这样的可见性)。
例如:
在test1.js中:
exports.name="linxuanxuan";
exports.happy=function(){console.log('mm');};
var yourname="reader";
在test2.js中:
var test1=require('./test1.js');
console.log(test1);
console.log(test1.name);
在命令行中输入:
node test2.js
输出结果为:
{ name: 'linxuanxuan', happy: [Function] }
linxuanxuan
模块分为两种:原生模块和文件模块。原生模块即Node.js
API提供的原生模块,原生模块在启动时已经被加载,文件模块(即自己写的Node.js文件)为动态加载的模块,加载文件模块的工作主要由原生模块 module来实现和完成,通过调用Node.js的require方法来实现加载。
需要注意的是,Node.js会对原生模块和文件模块都进行缓存,因此在第二次require该模块时,不会重复开销去加载模块,只需要从缓存中读取相应模块数据即可。
2.原生模块的调用:
var http=require('http');
requie加载成功后会返回一个Node.js模块的对象,该对象拥有该模块的所有属性和方法。
3.文件模块的调用:
加载原生模块时不需要指定模块路径,而文件模块加载时必须指定文件路径,否则会提示错误can not find xxx module.这里可以使用绝对路径与相对路径。绝对路径需要一个完整的Node.js文件的路径名,相对路径则需要在路径前添加一个“./"。
当加载了一个文件模块后,只有exports和module.exports对象暴露给该外部的属性和方法,才能够通过返回的require对象进行调用,其他方法和属性是无法获取的(类似于private public这样的可见性)。
例如:
在test1.js中:
exports.name="linxuanxuan";
exports.happy=function(){console.log('mm');};
var yourname="reader";
在test2.js中:
var test1=require('./test1.js');
console.log(test1);
console.log(test1.name);
在命令行中输入:
node test2.js
输出结果为:
{ name: 'linxuanxuan', happy: [Function] }
linxuanxuan
相关文章推荐
- 根据node.js来深入了解模块原理
- Node.js 手册查询-1-核心模块方法
- Node.js 模块系统和函数
- node.js中debug模块的简单介绍与使用
- Node.js 之基于文件的模块系统
- node.js 之async.js 里waterfall模块样例
- Node.js V8模块
- node.js基础模块http、网页分析工具cherrio实现爬虫
- Node.js入门:前后端模块的异同
- Node.Js cheerio模块简单API
- node.js之url模块
- 5. node.js 的 模块(Module)和包(Package)
- 使用readline模块如何实现Node.js的输入输出?
- Node.js —— 使用net模块创建TCP服务器/客户端
- Node.JS 异步模块的使用
- Node.js之缓冲模块Buffer
- node.js安装npm模块出现错误
- node.js 模块之url和querystring模块
- Node.js之模块系统
- Node.JS 中文分词模块