node.js笔记

57 阅读2分钟

node安装

nvm是用来管理多个node版本之间的切换
安装版本:nvm install 16.19.0
查看版本列表:nvm ls
切换版本:nvm use 版本号

node.js是什么?

是一个执行js的环境

node.js和浏览器的相同点是什么?

都是用V8引擎来解析

他们的区别是什么?

node.js不支持DOM和BOM操作,它有独立的api,api包括:fs:文件系统,path:路径处理,http:web服务

node.js给前端做了哪些赋能?

让前端可以做后端接口开发,工程化:使代码有良好的组织结构,方便维护

node代码出现提示

npm install @types/node

1. fs文件系统

第一步导包

const fs = require('fs')  //require导入内置fs包关键字
const fs = require('node:fs')  //node版本12以上支持
require是内置模块不会改变,所以用常量保存

1.2写入文件

path:路径 data:数据  callback:回调函数里写匿名函数
语法:fs.writeFile(path,data,(callback)=>{
if (err) return console.log('写入文件失败', err)
    console.log('写入成功')
})

1.3读取文件

语法:fs.readFile(path,(err)=>{
if (err) return console.log('读取文件失败', err)
    // console.log(data) 打印确认读取结果
    // data默认读取的数据是buffer对象,如果需要看到文本,可以通过toString()进行转换
    console.log(data.toString())
})

1.4追加文件

语法:fs.appendFile(path,data,(err)=>{
if (err) return console.log('追加文件失败', err)
    console.log('追加文件成功')
})

1.5 fs.access方法检查文件或目录是否存在

const fs = require('fs')
const path = require('path')

const filePath = path.join(__dirname, 'pubdemo', 'index.html')
fs.access(filePath, fs.constants.F_OK, (err) => {
    if (err) {
        console.error('文件不存在', err)
    } else {
        console.log('文件存在');
    }
})

path路径处理

const path = require('path')

/*
path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串
join()方法可以传入多个参数,拼接成一个完整的路径(绝对路径)
参数一般这么来传:
1._dirname
2.其他参数,传文件夹或者是文件的名称
*/
//获取当前文件夹的绝对路径:__dirname
// 获取当前文件夹的完整路径:__filename
const fs = require('fs')
// console.log(__dirname)  查看当前文件路径

//1.加载 path 模块
const path = require('path')

//2.使用 path.join() 来拼接路径
const pathStr = path.join(__dirname, '..', 'text.txt')
console.log(pathStr)

fs.readFile(pathStr, 'utf-8', (err, data) => {
    if (err) return console.log('读取文件失败', err)
    console.log(data.toString())
})