Node.js | 青训营

124 阅读2分钟

node.js

cmd常用命令

pPVIcpF.png

注:dir /s查看文件夹所有程序 CTRL+C停止输出

NodeJS编码注意事项

pPVoC9S.png

pPVoeA0.png

Buffer(缓冲器)

pPVoQc4.png

创建Buffer方法

  1. alloc

    let buf = Buffer.alloc(10);
    
  2. allocUnsafe

    let buf_2 = Buffer.allocUnsafe(10000);
    
  3. from

    let buf_3 = Buffer.from('hello');
    ​
    let buf_4 = Buffer.from([105,108,111,118,101,121,111,117]);
    

pPV7jB9.png

toString(2)可以查看二进制结果

修改的数据超过255时,会舍弃高位的数字

计算机基本组成

CPU

内存

读写速度较快,断电丢失数据

pPZPvHx.png

硬盘

读写速度较慢,断电不丢失数据

image-20230808212006915

pPZimUf.png

主板

pPZFZQJ.png

显卡

处理信号

计算机启动的基本过程

操作系统安装到硬盘,之后载入内存

pPZF5fU.png

程序运行的基本过程

应用程序安装到硬盘,之后载入内存

pPZkp1e.png

pPZk96H.png

进程与线程

进程:进行中的程序(在任务管理器查看)

线程:一个进程可以包含多个线程

pPZkQns.png

fs模块(file system)

pPZkt9U.png

写入文件

  1. 异步写入(效率更高)

    //导入fs模块
    const fs =require('fs');
    //写入文件
    fs.writeFile('./座右铭.txt', '三人行,则必有我师焉', err => {
        //err写入失败:错误对象  写入成功:null
        if(err){
            console.log('写入失败');
            return;
        }
        console.log('写入成功');
    });
    

    分为两个线程:JS(主线程,不会等其他线程)和I/O线程(等主线程执行完再执行)

  2. 同步写入

    fs.writeFileSync('./data.txt','test');
    
  1. 追加写入

    fs.appendFile('./座右铭.txt','择其善者而从之');
    
    fs.writeFile('./座右铭.txt','择其善者而从之',{flag:'a'});
    
  1. 文件流式写入 pPmwWsU.png
  2. 写入文件的场景 pPmw4Z4.png

文件读取

pPmwOsO.png

  1. 异步读取

    const fs=require('fs');
    ​
    fs.readFile('./静夜思.txt',(err,data)=>{
        if(err){
            console.log('读取失败');
            return;
        }
        console.log(data.toString());
    });
    ​
    
  2. 同步读取

    const fs=require('fs');
    ​
    let data =fs.readFileSync('./静夜思.txt');
    ​
    console.log(data.toString());
    
  3. 读取文件的应用场景 pPmBh59.png

  4. 文件流式读取(占用内存少) pPmDNxx.png

文件重命名与移动

  1. 文件重命名 pPmrky6.png
  2. 文件的移动 pPmreTe.png

文件的删除

pPmrKfA.png

还有一种rm方法:

pPmr3Of.png