node核心模块分类
1.fs 操作文件
2.http 创建服务器
3.url 解析url地址
4.path 处理路径
5.queryString 查询字符串
const fs = require('fs');
操作文件
1.读取文件
同步 readFileSync 两个参数
第一个参数:文件路径
第二个参数:字符编码;
当没有字符编码时,读出的内容就是buffer数据格式
有第二个参数时,读出的内容就是传入的编码
const data = fs.readFileSync('./a.js');
console.log(data); //<Buffer 31 32 33> //数据格式 二进制
const data = fs.readFileSync('./a.js', 'utf-8') //utf-8 字符编码
console.log(data); //123
异步readFile
前两个参数一样,多了个回调函数,回调函数有两个参数,
第一个是错误类型,
第二个是读取的文件内容
fs.readFile('./a.js', (err, data) => {
console.log(data);
})
fs.readFile('./a.js', 'utf-8', (err, data) => {
console.log(data);
})
2.写入文件
特点:
1.会覆盖文件原有的内容
2.如果要写入的目标文件不存在会自动创建
同步writeFileSync
第一个参数文件路径
第二个参数文件内容 string 或者buffer
第三个参数字符编码 ‘utf-8’;可选
fs.writeFileSync('./a.js', "hello");
fs.writeFileSync('./a.js', "hello", 'utf-8');
const data = fs.readFileSync('./b.js');
fs.writeFileSync('./a.js', data, 'utf-8');
异步writeFile
fs.writeFile('./a.js', '1709C', "utf-8", err => {
if (!err) {
console.log('写入成功!')
}
})
3.追加文件内容
同步appendFileSync
第一个参数路径
第二个参数要追加的内容
fs.appendFileSync('./a.js', 'wangxiaoli');
异步appendFile
fs.appendFile('./a.js', "89900", err => {
if (!err) {
console.log('追加成功!')
}
})
4.拷贝文件
同步copyFileSync
第一个参数要拷贝的文件路径
第二个参数目标文件的路径
fs.copyFileSync('./a.js', './b.js');
异步copyFile
fs.copyFile('./a.js', './b.js', err => {
if (!err) {
console.log('拷贝成功!')
}
})
5.删除文件
同步unlinkSync
一个参数,文件路径
fs.unlinkSync('./b.js');
异步unlink
fs.unlink('./a.js', err => {
if (!err) {
console.log('删除成功!')
}
})
总结 在 fs 模块中,所有的方法都分为同步和异步两种实现,具有 sync 后缀的方法为同步方法,不具有 sync 后缀的方法为异步方法
nodemon 自动监听文件变化,自动重启node
全局安装
nodemon npm i nodemon -g
结束进程:两次contrl+C