0%

Learnyounode Lesson 6

课程目标:

和上一节课一样打印指定文件夹下面的指定后缀的文件列表,但是这节课要封装一个 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);
});
});

课程总结:

  1. 封装modulenodejs最基本的能力。要不断巩固提升
  2. module.exportsexports的区别要掌握