node.js学习笔记

Posted 做个机灵鬼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js学习笔记相关的知识,希望对你有一定的参考价值。

node.js常用的几种方法

常规文件写入
// fs 是node.js的内置模块,可以对计算机的文件进行增删改
// 引入fs模块
const fs = require('fs');
// 调用fs中的方法 write 写入文件
// 在当前文件目录下写入 一个index.html文件
//\\r\\n表示换行
//flag:'a' 表示保存当前文件
 fs.writeFile('./index.html','优雅,用不过时\\r\\n',flag:'a', function(err)
    //  err为一个错误对象,错误是为true
    if(err) 
        console.log('错误');
    else
        console.log('写入成功');
    
 )
 //练习
let data = 
    name:'lili',
    number: 123,
    form: 'changsha'
;
// 把数据转换成json格式
let str = JSON.stringify(data)
// 把对象写入d盘中
let fs = require('fs');
// 异步api
/* fs.writeFile('d:/data.json',str,function(err)
    if(err)
        console.log('写入失败'); return;

    
    console.log('写入成功');
); */
// 同步api
fs.writeFileSync('./app.css','*margin = 0,padding= 0');
写入流写入文件
// 引入fs模块
let fs = require('fs');
// 创建写入流对象
const ws = fs.createWriteStream('./index.js');
// 执行写入
/* ws.write('<html>')
ws.write('</html>') */
ws.write(`
  let body = document.body;
  body.style.background = 'pink';
`)
// 当我们需要简单写入文件较少时使用writeFile(),批量写入时使用createwriteStream 

文件的读取

// 引入fs模块
let fs = require('fs');
// 读取文件
// 异步api
 /* fs.readFile('./index.js',(err,data) =>
    if(err)
        console.log('读取失败');
        console.log('失败的对象为'+err);
        return;
    
    console.log('读取成功');
    //读取出来的是buff文件 调用toString进行转换
    console.log(data.toString());
) */
//同步api 读取内容直接返回
let result = fs.readFileSync('./home.html');
console.log(result.toString());
//对json文件的读取
//引入fs模块
let fs = require('fs');
const str = fs.readFile('./data.json',(err,data)=>
     if(err) throw err;
    //  console.log(data.toString());
     //将json形式的文件转换为对象
     const JSONdata = JSON.parse(data.toString());
     console.log(JSONdata);
)
流式文件的读取
// 引入fs模块
let fs = require('fs');
// 创建读取对象
const ws = fs.createReadStream('./index.html')
// 绑定事件 
// chunk 块的意思 当读取完一块数据后
ws.on('data',(chunk)=>
    console.log(chunk.toString());
);
ws.on('open',()=>
    console.log('读取流时打开');
)
// 当读取小文件时用readFlie ,大文件时用流式读取
流式文件的复制
// 引入fs模块
let fs = require('fs');
// 流式读取和流式写入
let ws = fs.createWriteStream('./css.html');
let re = fs.createReadStream('./index.html');

// 流式读取文件需要绑定事件
re.on('data',chunk =>
    
    ws.write(chunk);
)
文件的移动与重命名
// 引用fs模块
let fs = require('fs');
// 文件重命名 rename(原文件名,修改后的文件名)
/* fs.rename('./index.html','./app.html',(err)=>
    if(err) throw err;
    console.log('修改成功');
) */
// 文件已经重命名 进行移动
fs.rename('./app.html','./file/index.html',(err)=>
    if(err) throw err;
    console.log('移动成功');
)
删除文件
// 引入fs模块
let fs = require('fs');
// 异步api
/* fs.unlink('./file/index.html',err=>
    if(err) throw err;
    console.log('删除成功');
) */
// 同步api
fs.unlinkSync('./css.html');
文件夹的操作
// 引入fs模块
let fs = require('fs');
// 创建文件夹
/* fs.mkdir('./project',err=>
    if(err) throw err;
    console.log('创建成功');
) */
// 访问文件夹 俩个参数,err files文件夹的目录
/* fs.readdir('./file',(err,files) =>
    if(err) throw err;
    console.log(files);
)
fs.readdir('d:/',(err,files) =>
    if(err) throw err;
    console.log(files);
) */
// 删除文件夹
/* fs.rmdir('./project',err => 
    console.log('删除成功');
) */
// 文件夹不为空不能进行删除

/* fs.rmdir('./file',err => 
    console.log(err);
) */
fs.rmdir('./file',recursive:true,err => 
    console.log(err);
)

以上是关于node.js学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

千锋Node.js学习笔记

node.js学习笔记之简洁聊天室

文件系统(node.js学习笔记)

node.js学习笔记之babel使用

Node.js--学习笔记

node.js学习笔记之React