相关文章
- P01: 从实用角度出发的node.js学习教程
- P02:node基本使用
- P03:node内置模块path
- P04:nodeAPI 之 Buffer
- P05:node内置模块 之 events
- P06:node内置模块 fs(1)
- P07:node内置模块 fs(2)
- P08:node实现静态服务器 ~ 创建项目
- P09:node实现静态服务器 ~ hello http
- P10:node实现静态服务器 ~ 静态读取文件或文件夹
今天来讲一下其他常用的
fs
直属api
fs.Stat
- 对象提供了关于文件的信息
const fs = require('fs') fs.stat('./11_fs_stat.js',(err, stats) => { if (err) throw err console.log(stats.isFile()) // 是否为文件 true console.log(stats.isDirectory()) // 是否为文件夹 false console.log(stats) // 所有信息 ... })
特殊技巧
// stats对象的使用技巧 判断一个文件是不是存在
fs.stat('./11111_fs_stat.js',(err, stats) => {
if (err) {
// 只要报错,那么就说明文件不存在
console.log('文件不存在,以及其他业务逻辑')
return
}
})
fs.rename
- 修改文件名
const fs = require('fs')
fs.rename('./test.js', 'test.txt', (err) => {
if (err) throw err
console.log('done!')
})
fs.unlink
- 删除文件
const fs = require('fs')
fs.unlink('./test.txt', err => {
if(err) throw err
console.log('done!')
})
fs.readdir
- 读取文件夹
const fs = require('fs')
fs.readdir('./', (err, files) => {
if(err) throw err
// 注意是将所有的下属文件名,置于一个array
console.log(files)
})
fs.mkdir
- 创建一个文件夹
const fs = require('fs')
fs.mkdir('test', (err) => {})
fs.rmdir
- 删除文件夹
const fs = require('fs')
// 不写回调函数
fs.rmdir('./test')
/**
* 报错
* fs.js:137
throw new ERR_INVALID_CALLBACK();
^
TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
*/
// 一部不写回调函数会报一个警告,但是在后续的版本中会报错,异步均需要编写回调函数
const fs = require('fs')
fs.rmdir('./test', err => {}) 推荐
fs.watch (还有一个类似fs.watchFile)
- 监视文件变化
- fs.watch 的 API 在各个平台上并非 100% 一致,在某些情况下不可用。仅在 macOS 和 Windows 上支持 recursive 选项
- 处理文件中非常有用
const fs = require('fs')
// 回调函数一参数为改变的类型,二参数为改变的文件
// recursive 回调监听子文件夹;
fs.watch('./',{recursive: true},(eventType, filename) => {
console.log(eventType, filename)
})
至此常用的
api
以及内置模块
介绍完毕,下面将会介绍静态服务器。

close