Node.js --fs核心模块/path核心模块

本文介绍了Node.js的基础知识,包括其作为JavaScript运行时的角色,区别于浏览器环境的特点,以及学习Node.js对于理解后端开发的重要性。讲解了Node.js的安装、命令行操作,并深入探讨了fs模块进行文件读写的方法和路径处理。通过核心模块path解决路径问题,确保文件操作的准确性和安全性。此外,还提到了Node.js中用于处理路径的实用工具和fs模块的常用方法。
摘要由CSDN通过智能技术生成

前置导读

1. 我们先来回顾一下Node.js 是什么?

          Node.js 是 基于 Chrome V8引擎的 JavaScrip t的 运行时(运行环境-宿主环境)

2.Node.js .js,那么它是一个js文件吗?

          不是,Node.js是一个软件,不是一个js文件,安装完毕后也没有图标,它是一个运行环境

3.学习Node.js的意义是什么?

         3.1在Node环境下,写jsdiamante实现后端的功能(web服务器,写接口,读写数据库...)

         3.2了解后端程序员的工作

4.Node.js 是一门新语言吗?

		它只是一个环境,不是一门语言(不需要学习新的语言)

5.下载安装Node.js

Node.js中文网
下载长期支持版本(稳定版),另一个是尝鲜版的:
下载长期支持版本(稳定版),另一个是尝鲜版的
根据自身电脑系统下载对应的版本:
根据自身电脑系统下载对应的版本
右键此电脑(计算机)->属性,查看是多少位的系统
右键此电脑->属性,查看是多少位的系统
后续一直下一步就行

6.打开小黑窗的4种方式

		方法1: cmd窗口(window+R, ----> 运行 -----> 输入cmd,回车)
		方法2: 在目标文件夹的路径栏输入cmd,回车
		方法3: powershell -> 在目标目录中按下shift,同时点击鼠标右键,可以选择在此处打开powershell命令行窗口
		方法4: vscode中在目标文件上点击右键,在集成终端中打开

7.常用的命令行下的命令及按键

	cd ..							返回上级目录
	cd \							返回根目录
	cd 目录地址						移动到目标地址
	↑↓								切换历史命令
	一部分文件名按tab键				自动补全文件名		
	Ctrl+c							停止Node程序
	cls/clear						清屏
	ls/dir							查看目录列表
	node 空格 某个js文件				调用node程序,运行js文件

8.Node.js和浏览器端的区别

		相同点: 
				1. 都可以运行js代码,更严谨一点就是都可以运行ECMAScript
				2. 都需要下载安装才能使用
		不同点:
				1. 各有不同的API: node.js运行js时,不能写DOM,BOM,也不能用window对象了
				2. Node.js环境可以去实现后端的功能
				3. 浏览器环境可以去实现前端的功能

9.Node.js中的模块分类

		1.核心模块: Node.js自带的模块,安装后就可以随意使用
		2.自定义模块: 程序员自定义的模块,类似于自定义函数
		3.第三方模块:其他程序员写的模块,类似于axios,JQuery等等

10.核心模块fs

	引入核心模块的固定格式:	const 常量名(最好和核心模块同名)  =  require('核心模块名(不可随意更改)')
	常用功能: 
				1.文件读取(同步)  let 变量名 =  fs.readFileSync('文件路径',编码(可选))	
								console.log(变量名)  若读取成功,则显示文件内容,若读取失败,则显示错误对象
				2.文件写入(同步)  fs.writeFileSync('文件路径','写入内容(必须得是字符串类型或者Buffer形式)',编码(可选))
								buffer形式:二进制,显示的时候是十六进制
								`注意:若该路径没有该文件,则创建该文件,若存在则写入内容(覆盖)`
	核心模块是由Node.js提供的,具体的要看文档
			使用步骤:
							  a. 引入。 const xxx = require('xxx')
								ⅰ.   console.log(xx)
								 b. 使用。

11.路径问题-相对路径的隐患

			 我们在fs中读取文件是,由于使用的是相对路径,所以在读这个文件的时候,node.js会去:	
			 运行cmd命令的路径+代码中的相对路径.找它  如果你cd返回了上一层再运行,就会报错

12.解决办法-绝对路径

12.1 Node.js提供两个全局变量: _ _ filename、_ _ dirname

			__filename: 获取目标文件的绝对路径
			__dirname: 获取目标文件的文件夹的绝对路径
			只需要在读入文件时,在文件名的前面拼接上路径:
				const filePath = __dirname + '\\rs.txt'

13. path核心模块

	作用是用来处理路径问题:拼接,分析,取后缀名等等。
			● 官网文档地址
			● 是node中的核心模块之一
	
		常见API:
					● path.basename() :此方法返回 path 的最后一部分。一般可用来获取路径中的文件名。
					● path.join() :路径拼接。
					● path.parse(pathurl) :把一个路径转成一个对象		

示例:

path.basename('/foo/bar/baz/asdf/quux.html');// 返回: 'quux.html'
path.basename('/foo/bar/baz/asdf/quux.html', '.html');// 返回: 'quux'
path.dirname('/foo/bar/baz/asdf/quux');// 返回: '/foo/bar/baz/asdf'
path.extname('index.html');// 返回: '.html'
//路径拼写
const filePath = path.join(__dirname, 'html5.jpg')

附:path模块常用方法列表

方法作用
path.basename(path[, ext])获取返回 path 的最后一部分(文件名)
path.dirname(path)返回目录名
path.extname(path)返回路径中文件的扩展名(包含.)
path.format(pathObject)path.format(pathObject) 将一个对象格式化为一个路径字符串
path.join([…paths])拼接路径
path.parse(path)把路径字符串解析成对象的格式
path.resolve([…paths])基于当前工作目录拼接路径

附: fs模块中的常用方法

API作用
fs.access(path, callback)判断路径是否存在
fs.appendFile(file, data, callback)向文件中追加内容
fs.copyFile(src, callback)复制文件
fs.mkdir(path, callback)创建目录
fs.readDir(path, callback)读取目录列表
fs.rename(oldPath, newPath, callback)重命名文件/目录
fs.rmdir(path, callback)删除目录(只能删除空目录)
fs.stat(path, callback)获取文件/目录信息
fs.unlink(path, callback)删除文件
fs.existsSync(absolutePath)判断路径是否存在
fs.watchFile(filename[, options], listener)监视文件
fs.watch(filename[, options][, listener])监视文件/目录

总结

1.  nodejs 是什么?
	a. 是一个基于chrome v8引擎的javascript 运行时
	 b. 它是不是一个新语言,它只是一个环境,用来运行js代码
2. 与浏览器的区别在?
	a. nodejs中没有dom,bom, window, 只有 ECMAScript
3. 我们学它是图什么?
	 a. 它是用来写后端功能,帮助我们了解后端程序员是如何工作;
4. fs: 用来做文件(文件夹)操作:读\写\删除\创建.......
5. path: 做路径相关的操作 path.join()
6. __dirname, __filename : 在nodejs中,表示全局变量。用来获取绝对路径。
	 a. __dirname : 获取当前被执行的文件所在的文件夹的绝对路径
	 b. __filename: 获取当前被执行的文件的绝对路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值