nodejs基础常识

Nodejs 是一个基于 Chrome V8 引擎的JavaScript 运行环境。
nodejs基础常识_第1张图片
注意:

  1. 浏览器是JavaScript的前端运行环境.
  2. Node.js 是JavaScript 的后端运行环境
  3. Node.js 中无法调用 DOM 和 BOM等浏览器内置 API。

常用的命令行
nodejs基础常识_第2张图片

cd …切换到上一级目录

cd ..

在这里插入图片描述
nodejs基础常识_第3张图片

1、fs-读取文件内容

fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。

如果要在JavaScript代码中,使用fs 模块来操作文件,则需要使用如下的方式先导入它

语法格式:
在这里插入图片描述
参数1:必选参数,字符串,表示文件的路径
参数2:可选参数,表示以什么编码格式来读取文件
参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果。

// 1.导入fs模块。操作文件
const fs = require('fs');
fs.readFile('data/test.txt', 'utf8', function (err, dataStr) {
    console.log(err);//读取成功的结果
    console.log(dataStr);//读取失败的结果
});

判断是否读取成功

const fs = require('fs');
// 判断文件读取是否成功
fs.readFile('data/testdsf.txt', 'utf8', function (err, dataStr) {
    // 如果读取成功,则err的值为null
    if (err) {
        // 加个return可以终止程序
        return console.log("文件读取失败:"+err.message);
    }
    console.log("文件读取成功:"+dataStr);//读取成功的结果
});

在这里插入图片描述

2、fs-写入文件内容

在这里插入图片描述
参数解读

  • 参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
  • 参数2:必选参数,表示要写入的内容。
  • 参数3:可选参数,表示以什么格式写入文件内容,默认值是utf8
  • 参数4:必选参数,文件写入完成后的回调函数
// 1.导入fs模块。操作文件
const fs = require("fs");
// 这个写入会覆盖之前的内容
//这个操作还会创建新文件
//异步
fs.writeFile('./data/test.txt', '现在是23.3.29', function (err, dataStr) {
    if (err) {
        // 如果写入成功 err的值为null null即为假,假不执行
        return console.log("写入失败" + err);
    }
    console.log('写入成功:' + dataStr);//undefined
});

在这里插入图片描述

2.1、追加写入

// 1.导入fs模块。操作文件
const fs = require("fs");
// appendFile写入不会会覆盖之前的内容
fs.appendFile('./data/test.txt', '我是追加进去的', function (err, dataStr) {
    if (err) {
        // 如果写入成功 err的值为null null即为假,假不执行
        return console.log("写入失败" + err);
    }
    console.log('写入成功:' + dataStr);//undefined
}

在这里插入图片描述
在这里插入图片描述

2.2、文件流式写入

// 导入fs
const fs = require('fs');

// 创建写入流对象
const ws=fs.createWriteStream('data/观书有感.txt');

// 写入
ws.write('半亩方糖一鉴开\n');
ws.write('天光云影共徘徊\n');
ws.write('问渠哪得清如许\n');
ws.write('为有源头活水来\n');

// 关闭,可以不写
ws.close();

nodejs基础常识_第4张图片

console.log(__dirname);//输出的是所在文件夹的绝对路径

在这里插入图片描述

3、使用path模块处理路径

path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。
在这里插入图片描述

如果要在JavaScript代码中,使用 path 模块来处理路径,则需要使用如下的方式先导入它

const path=require('path');

3.1、path.join()

使用 pathjoin()方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下:
在这里插入图片描述
nodejs基础常识_第5张图片

// 注意:../返回上一级目录
const s=path.join('/a','/b/c','../../','./d','e');
console.log(s);//\a\d\e
const fs=require('fs');
fs.readFile(path.join(__dirname,'/data/观书有感.txt'),function (err, data) {
    if (err) {
        return console.log("读取失败:"+err);
    }
    console.log("读取成功:\n"+data);
})

nodejs基础常识_第6张图片

3.2、path.basename()获取文件名

使用 path.basename() 方法,可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名,语法格式如下:
在这里插入图片描述
nodejs基础常识_第7张图片

// 导入path模块
const path = require('path');

// 定义文件存放路径
const road='data/观书有感.txt';
const fullName=path.basename(road);
console.log(fullName);//观书有感.txt

// 只获取文件名,不获取文件类型
const x=path.basename(road,'.txt');
console.log(x);

在这里插入图片描述

3.3、path.extname()获取文件拓展名

// 获取文件拓展名
const y=path.extname(road);
console.log(y);

在这里插入图片描述

4、Buffer

Buffer 中文译为[缓冲区],是一个类似于 Array 的对象,用于表示固定长度的字节序列换句话说,Buffer 就是一段固定长度的内存空间,用于处理二进制数据
nodejs基础常识_第8张图片
特点:
1.Buffer 大小固定且无法调整
2. Buffer 性能较好,可以直接对计算机内存进行操作
3. 3.每个元素的大小为1字节 (byte)
4. nodejs基础常识_第9张图片
buffer的创建:

// 1.alloc
let buf = Buffer.alloc(99);
console.log(buf);
console.log(buf.length);
// 2.allocUnsafe
let buf2 = Buffer.allocUnsafe(2);
console.log(buf2);
// 3.from
let buf3 = Buffer.from('李旭亮');
console.log(buf3.toString());

在这里插入图片描述

你可能感兴趣的:(node.js,javascript,前端,vue.js)