Node.js学习(一):node.js初识及fs文件系统模块

本文介绍了Node.js的基本概念,包括其作为JavaScript后端环境的作用,并详细讲解了fs模块的readFile和writeFile方法,以及如何避免路径拼接错误。重点在于演示如何正确使用fs模块处理文件操作,包括提供绝对路径和利用__dirname动态拼接路径。
摘要由CSDN通过智能技术生成

Node.js学习(一):node.js初识及fs文件系统模块

1、node.js初识

1)什么是node.js?

​ 什么是node.js?node的官网上给出了这样的答案:Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. (Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。)

​ 浏览器是javascript的前端运行环境,而node.js是javascript的后端运行环境。在node.js中,我们无法调用BOM和DOM等浏览器内置API。

2)node.js安装与使用

​ 进入 Node.js 的官网首页(https://nodejs.org/en/),下载所需要的node版本后,直接“下一步”安装即可。安装完成之后,打开计算机终端,输入:node -v,可以看到自己的node版本号,则表示node安装成功。

这里补充一下我常用的打开终端的方式:

​ a、使用快捷键(Windows徽标键 + R)打开运行面板,输入 cmd 后直接回车,即可打开终端。

​ b、打开计算机某一文件夹,选择文件夹路径,输入cmd替换,回车即可打开终端。

​ c、打开计算机某一文件夹,按住shift,然后鼠标右键,选择“在此处打开PowerShell窗口”,也能打开终端。

2、fs文件系统模块

1)fs.readFile()方法:

​ fs.readFile(path,option,callback):用来读取指定文件中的内容,有三个参数。

​ 参数一(path):字符串,表示文件的路径,必填

​ 参数二(option):表示以什么编码格式来读取文件,默认值 utf-8,选填

​ 参数三(callback):文件读取后,通过回调函数拿到结果,必填

2)fs.writeFile()方法:

​ fs.writeFile(path,data,option,callback) :用来向指定的文件中写入内容,有四个参数。

​ 参数一(path):字符串,表示文件的路径,必填

​ 参数二(data):表示文件中要写入的内容。,必填

​ 参数三(option):表示以什么格式写入文件内容,默认值是 utf-8,选填

​ 参数四(callback):文件写完后,通过回调函数拿到结果,必填

3)fs路径动态拼接问题

​ 在使用 fs 模块操作文件时,如果提供的操作路径是以 ./ 或 …/ 开头的相对路径时,很容易出现路径动态拼接错误的问题。

​ 原因:代码在运行的时候,会以执行 node 命令时所处的目录,动态拼接出被操作文件的完整路径。

​ 解决方法:在使用 fs 模块操作文件时,直接提供完整的路径,或者运用"dirname"实现路径拼接(其中,__dirname : 表示文件当前所处的目录)。

示例代码:

//引入文件系统模块
const fs = require('fs')

//  代码在运行的时候,会以执行 node 命令时所处的目录,动态拼接出被操作文件的完整路径
//  若 node命令所处目录+所填相对路径拼接之后 !== 指定文件的完整路径,则文件读取失败


//  一、相对路径示例
// fs.readFile('./文本/1.txt','utf-8',function(err,dataStr){
//     if(err){
//         return console.log('文件读取失败'+err.message)
//     }
//     console.log('文件读取成功'+dataStr)
// })


//  二、绝对路径示例
// fs.readFile('D:\\桌面\\code\\系统性学习\\node.js\\day01\\文本\\1.txt','utf-8',function(err,dataStr){
//     if(err){
//         return console.log('文件读取失败'+err.message)
//     }
//     console.log('文件读取成功'+dataStr)
// })


//  __dirname(此处是两个下划线+dirname) : 表示文件当前所处的目录
//  三、运用__dirname进行路径拼接
fs.readFile(__dirname+'/文本/1.txt','utf-8',function(err,dataStr){
    if(err){
        return console.log('文件读取失败'+err.message)
    }
    console.log('文件读取成功'+dataStr)
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值