解读Node.Js中的Path路径模块

1.什么是 path 路径模块

path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。

例如:

path.join () 方法,用来 将多个路径片段拼接成一个完整的路径字符串

path.basename () 方法,用来从路径字符串中,将文件名解析出来

如果要在 JavaScript 代码中,使用 path 模块来处理路径,则需要使用如下的方式先导入它:

720E4555-1AD4-05A6-BBEE-67545BFEEFD0.png

 2. 路径拼接

360DE347-2C2D-8C39-71E3-5F850E7BA3EC.png
使用 path.join() 方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下:

B72A3237-1DD7-0BEA-6AC7-D234FFF46C96.png

参数解读:

...paths <string> 路径片段的序列

返回值 : <string>

EF5B6698-501D-F9A1-7612-D4C3D156080E.png
使用 path.join() 方法,可以把多个路径片段拼接为完整的路径字符串:

9A6BD993-339C-DB0E-9053-8E3DD8281FC9.png

注意:今后凡是涉及到路径拼接的操作,都要使用 path.join() 方法进行处理。不要直接使用 + 进行字符串的拼接。

3. 获取路径中的文件名 

B4B6145F-2EF2-2892-AFAE-2B59844C8B31.png
使用 path.basename() 方法,可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名,语法格式如下:

5CE5988B-B669-BAA7-922F-ABFB5FB87495.png

参数解读:

path <string> 必选参数,表示一个路径的字符串

ext <string> 可选参数,表示文件扩展名

返回 : <string> 表示路径中的最后一部分

C07EDD09-DC4B-2277-4C0E-49C5688422E1.png

使用 path.basename() 方法,可以从一个文件路径中,获取到文件的名称部分:

5ABB529D-C8CE-039C-21C8-F3277C30F475.png

 4. 获取路径中的文件扩展名

028B9C7A-4813-055F-4146-B7A76771FDCC.png
使用 path.extname() 方法,可以获取路径中的扩展名部分,语法格式如下:

3F5E0519-55F5-19AD-A0B8-68AD3BD81099.png

参数解读:

path <string> 必选参数,表示一个路径的字符串

返回 : <string> 返回得到的扩展名字符串

7AF2FAE9-76D3-A201-899E-132A09913CFA.png

使用 path.extname() 方法,可以获取路径中的扩展名部分:

1265683F-F441-3663-B068-A153CA2C1102.png

 5. 综合案例 - 时钟案例

D383E758-95FC-9EC4-EFD6-7F726D03E541.png

将素材目录下的 index.html 页面,拆分成三个文件,分别是:

index.css

index.js

index.html

并且将拆分出来的 3 个文件,存放到 clock 目录中。

9A7CB227-0A0F-6499-02D8-6E8A03862E36.png

5B012766-7EA2-FC28-30F6-AE80462E0B58.png

①创建两个正则表达式,分别用来匹配 <style> 和 <script> 标签

②使用 fs 模块,读取需要被处理的 HTML 文件

③自定义 resolveCSS 方法,来写入 index.css 样式文件

④自定义 resolveJS 方法,来写入 index.js 脚本文件

⑤自定义 resolveHTML 方法,来写入 index.html 文件

B223B5AD-EB1B-25EE-D020-263DCFFF372C.png
F81A2393-CF38-14DA-4BAB-347736961991.png

45221A83-FC29-D68D-C762-09B7BD4C97EF.png

4DFB0112-B2AE-F51A-38D4-C3D21C8DF261.png

5792A49A-F60B-9357-101B-EE4C4A0DFE41.png

9BD5DE5E-C127-3B56-D97D-1F3F7ABCE4CC.png

27A7BE73-1516-8F5B-131B-08403ADC1453.png

F1A88B2C-C156-95F4-8869-AB1191DDC749.png

75C755D2-45B3-0857-CC1C-97A16F720B5E.png

BC034B52-4557-D58A-7251-42AA2B03FEFC.png

58A21B55-E33A-6BAE-3891-55BF44D61654.png

① fs.writeFile () 方法只能用来创建文件,不能用来创建路径

② 重复调用 fs.writeFile () 写入同一个文件,新写入的内容会覆盖之前的旧内容

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的