Node_JS 3-01_03核心模块

path

表示的路径 

通过path可以用来获取各种路径,要使用path,需要先对其进行引用


 方法:

path.resolve([...paths]),用来生成绝对路径

相对路径:./xxx ../xxx xxx

绝对路径:在计算机本地c:\xxx/;在网络中http://www.xxx/...

如果直接调用resolve,会返回当前的工作目录

注:我们通过不同的方式执行代码时,它的工作目录有可能发生变化


 如果将一个相对路径作为参数,则resolve会自动将其转化为绝对路径,此时根据工作目录不同,它所产生的绝对路径也不同。

一般会将一个绝对路径作为第一个参数,一个相对路径作为第二个参数,它会自动计算出最终路径

const result = path.resolve(
    "D:\\前端\\Node.js\\03_包管理器",
    "../../hello.js")

 最终形态:以后在使用路径时,尽量通过path.resolve生成路径

const result = path.resolve(__dirname,"./hello.js")
console.log(result)

fs (File System)

fs用来帮助node来操作磁盘中的文件,文件操作也就是所谓的I/O,input output;

使用fs模块,同样需要引用

const fs = require("node:fs/promises");
const { buffer } = require("stream/consumers");
const { log } = require("node:console");

Promise版本的fs的方法

fs.readFile(path.resolve(__dirname,"./hello.txt"))
    .then(buffer =>{
        console.log(buffer.toString());
    })
    .catch(e =>{
        console.log("出错了");
    })
;(async () =>{
    try{
        const buffer =await fs.readFile(path.resolve(__dirname,"./hello.txt"))
        console.log(buffer.toString())
    }catch(e){
        console.log("出错了");
    }
})()

readFileSync() 同步的读取文件的方法,会阻塞后边的代码的执行

当我们通过fs模块读取磁盘中的数据时,读取到的数据总会以Buffer对象的形式返回

Buffer() 是一个临时用来存储数据的缓冲区

const buf = fs.readFileSync(path.resolve(__dirname,"./hello.txt"))

console.log(buf.toString());

readFile() 异步的读取文件的方法

fs.readFile(
    path.resolve(__dirname, "./hello.txt"),
    (err, buffer) => {
        if (err) {
            console.log("出错了");
        } else {
            console.log(buffer.toString());
        }
    }
)
console.log("后续代码");

    fs.appendFile() 创建新文件,或将数据添加到已有文件中

    fs.mkdir() 创建目录

    fs.rmdir() 删除目录

    fs.rm() 删除文件

    fs.rename() 重命名

    fs.copyFile() 复制文件


fs.appendFile() 

fs.appendFile(
    path.resolve(__dirname, "./hello.txt"),
    "超哥讲的真不错"
).then(r =>{
    console.log("添加成功");
})

复制文件

"C:\Users\34318\Desktop\微信图片_20230315183528.jpg"

fs.readFile("C:\\Users\\34318\\Desktop\\微信图片_20230315183528.jpg")
    .then(buffer => {
        return fs.appendFile(
            path.resolve(__dirname, "./haha.jpg"),
            buffer
        )
    })
    .then(()=>{
        console.log("操作结束");
    })

fs.mkdir()

mkdir 可以接收一个配置对象作为第二个参数,通过该对象可以对方法的功能进行配置

recursive 默认值为false,设置true后,会自动创建不存在的上一级目录

fs.mkdir(path.resolve(__dirname, "./hello/abc"), { recursive: true })
    .then(r => {
        console.log("操作成功");
    })
    .catch(e => {
        console.log("创建失败");
    })

 fs.rmdir()

fs.rmdir(path.resolve(__dirname,"./hello"), { recursive: true })
.then(r =>{
    console.log("删除成功");
})

fs.rename()

fs.rename(
    path.resolve(__dirname,"../an.jpg"),
    path.resolve(__dirname,"./an.jpg")
).then(r =>{
    console.log("重命名成功");
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误是由babel-loader模块引起的,它在编译Vue项目时发生了错误。根据引用和引用的建议,解决这个问题的步骤如下: 1. 首先,你可以尝试执行命令`npm install @babel/core @babel/preset-env`来安装最新的babel核心和预设环境。 2. 如果上述步骤没有解决问题,你可以按照引用中的建议执行以下安装命令: `npm i babel-loader @babel/core @babel/runtime @babel/preset-env @babel/plugin-proposal-class-properties @babel/plugin-transform-runtime -D` 这些命令将确保你安装了必要的babel模块和插件,以便正确编译Vue项目。123 #### 引用[.reference_title] - *1* [Module build failed (from ./node_modules/babel-loader/lib/index.js)......](https://blog.csdn.net/ke_sin/article/details/122884272)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [webpack配置babel时候报错ERROR in ./src/main.js Module build failed (from ./node_modules/babel-...](https://blog.csdn.net/leeue/article/details/93903757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [webpack配置babel时候报错ERROR in ./src/main.js Module build failed (from ./node_modules/babel-loade](https://blog.csdn.net/qq_35457469/article/details/102891564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值