在跟敲项目的实现时候 会有很多困难 后端还好 前端差了很多 那既然想要将整个项目从头到尾捋清楚 那就需要对前端的学习 那就从5.7号开始了 前端知识的学习 不能叫学习吧 更算是重写认识 从基础抓抓
类似与这些知识点
那废话不多说 反正我有大把时间可以学习哈啊哈
课程学习来自于尚硅谷:
先得安装node.js啊啊
https://nodejs.cn/download/
然后我的版本呢 之前有说明了
关于node.js大致介绍的
Node.js 就是运行在服务端的 JavaScript
是不能操作DOM和BOM
来看fs的学习吧:
(file system)操作系统文件之类的吧
看视频学习中有个这个坑 因为之前直接自学的vue 所以直接导用了vite工具
而视频学习中
var fs = require('fs'); // 载入fs模块
参考https://blog.csdn.net/ocMajic_/article/details/121153374
应该从pack.json中拿出导入
import fs from "fs";
写入文件 关于箭头函数es后面还要继续继续学习啊
关于参数可以ctrl点进去看参数
大部分为 原路径 新路径 设置 回调函数
import fs from "fs";
// file: PathOrFileDescriptor,
// data: string | NodeJS.ArrayBufferView,
// options: WriteFileOptions,
// callback: NoParamCallback,回调函数
//异步
fs.writeFile('./哈哈.txt','高地远近',err=>{
if(err){
console.log('失败');
}
console.log('成功');
})
console.log(1+1);
//同步
fs.writeFileSync('./啊啊.txt','芳芳芳芳')
在文件中后面继续写入 \r\n为node中支持的换行
import fs from "fs";
// path: PathOrFileDescriptor,
// data: string | Uint8Array,
// options: WriteFileOptions,
// callback: NoParamCallback,
//追加写入
fs.appendFile('./哈哈.txt','来来去去',err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
//同步
fs.appendFileSync('./哈哈.txt','\r\n高潮高潮了',err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
流式写更使用 频繁写入的时候
import fs from "fs";
//写入流对象
var ws = fs.createWriteStream('./阳阳.txt')
ws.write('一去二三里\r\n')
ws.write('烟村四五家\r\n')
ws.close()
toString转为字符
import { log } from "console";
import fs from "fs";
// path: PathOrFileDescriptor,
// callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void
fs.readFile('./哈哈.txt',(err,data)=>{
if (err) {
console.log('失败');
}
console.log(data.toString());
})
//同步读取
var file = fs.readFileSync('./阳阳.txt')
console.log(file.toString());
import fs from "fs";
//流式读取
var rs = fs.createReadStream('./a.jpg')
//绑定data事件
rs.on('data',chunk=>{
console.log(chunk);
})
对比一下java所学的IO那一节
import fs from "fs";
//文件的复制
let file = fs.readFileSync('./a.jpg')
fs.writeFileSync('./b.jpg',file);
//方式二 流式操作
const rs = fs.createReadStream('./a.jpg')
const ws = fs.createWriteStream('./c.jpg')
rs.on('data',chunk=>{
ws.write(chunk)
})
rename直接可以实现重命名和移动
import fs from "fs";
//重命名
// export function rename(oldPath: PathLike, newPath: PathLike, callback: NoParamCallback): void;
fs.rename('./哈哈.txt','./丫丫.txt',err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
//文件移动
fs.rename('./阳阳.txt','../阳阳阳.txt',err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
import fs from "fs";
//删除文件
// export function unlink(path: PathLike, callback: NoParamCallback): void;
fs.unlink('./啊啊.txt',err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
//rm方法
// export function rm(path: PathLike, callback: NoParamCallback): void;
// export function rm(path: PathLike, options: RmOptions, callback: NoParamCallback): void;
fs.rm('./阳阳阳.txt',err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
这里很多搞清楚相对路径和绝对路径
import fs from "fs";
//文件夹操作
// export function mkdir(
// path: PathLike,
// options: MakeDirectoryOptions & {
// recursive: true;
// },
// callback: (err: NodeJS.ErrnoException | null, path?: string) => void,
// ): void;
fs.mkdir('./html',err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
//递归创建
// recursive:是否可以递归创建,默认为false
fs.mkdir('./html/aaa',{recursive:true},err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
//文件夹读取 返回数组文件夹列表名字
fs.readdir('./html',(err,data)=>{
if (err) {
console.log('失败');
}
console.log(data);
})
//删除文件夹
fs.rmdir('./html/aaa',err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
//递归删除
fs.rmdir('./html',{recursive:true},err=>{
if (err) {
console.log('失败');
}
console.log('成功');
})
import fs from "fs";
//查看资源状态
// export function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void;
fs.stat('./a.jpg',(err,data)=>{
if (err) {
console.log('失败');
}
console.log(data);
console.log(data.isFile());
console.log(data.isDirectory());
})
ok fs的整理先到者
标签:node,fs,console,log,err,js,txt,data From: https://www.cnblogs.com/gaodiyuanjin/p/18178328