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())
})