玩转Node.js - 06. 使其模块化
2015-08-21 13:51
671 查看
准备工作:
1. 来到我们的工作目录
2. 如果还没有工作目录,请按下面方式新增
1. 新建文件
2. 使用
3. 使用
4. 使用
保存退出。
与前例的函数不同的是,最后加了一个回调方法,当结果产生后,调用这个回调方法,将结果”传递”给调用者。
5. 新建文件
文件:
参考资料:
Modules Node.js v0.12.7 Manual & Documentation
learnyounode - MAKE IT MODULAR
1. 来到我们的工作目录
$ cd ~/nodejs
2. 如果还没有工作目录,请按下面方式新增
$ cd ~ $ mkdir nodejs $ cd nodejs
目标:编写一个独立模块来打印目录下符合指定后缀的文件
下面开始实际操作:1. 新建文件node06-module.js
$ vim node06-module.js
2. 使用require
方法引入fs
模块
var fs = require('fs');
3. 使用require
方法引入path
模块
var path = require('path');
4. 使用module.exports
将异步读取目录,并计算行数的函数导出
module.exports = function (dir, filterStr, callback) { fs.readdir(dir, function (err, list) { if (err){ return callback(err); } list = list.filter(function (file) { return path.extname(file) === '.' + filterStr; }); callback(null, list); }); };
保存退出。
与前例的函数不同的是,最后加了一个回调方法,当结果产生后,调用这个回调方法,将结果”传递”给调用者。
5. 新建文件node06.js
$ vim node06.js
6. 引入我们的模块
var mymodule = require('./node06-module.js');
7. 获取参数
var dir = process.argv[2]; var filter = process.argv[3];
8. 调用模块
mymodule(dir, filter, function (err, list) { if (err){ return console.error('Error: ', err); } list.forEach(function (file) { console.log(file); }); });
本篇代码
文件:~/nodejs/node06-module.js
var fs = require('fs');
var path = require('path');
module.exports = function (dir, filterStr, callback) { fs.readdir(dir, function (err, list) { if (err){ return callback(err); } list = list.filter(function (file) { return path.extname(file) === '.' + filterStr; }); callback(null, list); }); };
文件:
~/nodejs/node06.js
var mymodule = require('./node06-module.js');
var dir = process.argv[2]; var filter = process.argv[3];
mymodule(dir, filter, function (err, list) { if (err){ return console.error('Error: ', err); } list.forEach(function (file) { console.log(file); }); });
参考资料:
Modules Node.js v0.12.7 Manual & Documentation
learnyounode - MAKE IT MODULAR
相关文章推荐
- 使用 HTTP 上传 G 级的文件之 Node.js 版本
- Node.js压缩web项目中的js,css和图片
- 异步流程控制:7 行代码学会 co 模块
- node.js中的fs.mkdir方法使用说明
- 为什么Node.js会这么火呢?Node.js流行的原因
- 究竟什么是Node.js?Node.js有什么好处?
- node.js中的http.response.removeHeader方法使用说明
- 浅析Node.js查找字符串功能
- Node.js中require的工作原理浅析
- 运行Node.js的IIS扩展iisnode安装配置笔记
- 使用npm发布Node.JS程序包教程
- node.js中的fs.symlinkSync方法使用说明
- Node.js中的流(Stream)介绍
- 使用node.js 获取客户端信息代码分享
- Windows8下搭建Node.js开发环境教程
- Node.js实现的简易网页抓取功能示例
- Node.js中HTTP模块与事件模块详解
- Node.js中child_process实现多进程
- Node.js中的process.nextTick使用实例
- 优化Node.js Web应用运行速度的10个技巧