课程目标:
和上一节课一样打印指定文件夹下面的指定后缀的文件列表,但是这节课要封装一个 module 去处理这个问题。module 是 node 的核心概念。一个 node 程序都是由多个 module 组成的。
My Solution:
getFiles module:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const fs = require("fs"); const path = require("path");
const getFiles = (dir, ext, callback) => { fs.readdir(dir, (err, data) => { if (err) return callback(err); const list = data.filter(item => { return path.extname(item) === "." + ext; }); callback(null, list); }); };
module.exports = getFiles;
|
program.js:
1 2 3 4 5 6 7 8 9 10
| const getFiles = require("./getFiles"); const dir = process.argv[2]; const extname = process.argv[3];
getFiles(dir, extname, (err, list) => { if (err) return console.err(err); list.forEach(item => { console.log(item); }); });
|
课程总结:
- 封装
module
是nodejs
最基本的能力。要不断巩固提升
module.exports
和exports
的区别要掌握