iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Node.js 中常用内置模块(path 路径模块)
  • 635
分享到

Node.js 中常用内置模块(path 路径模块)

2024-04-02 19:04:59 635人浏览 薄情痞子
摘要

目录前言路径拼接:join方法获取文件名:basename方法获取文件扩展名:extname方法结语前言 进行服务端开发,少不了对各种路径的处理,之前我们是简单粗暴的使用字符串的方法

前言

进行服务端开发,少不了对各种路径的处理,之前我们是简单粗暴的使用字符串的方法来对路径进行拼接或截取等操作。

node.js 官方为我们提供了一个专门用来处理路径的模块:path模块,这个模块提供了一系列的方法和属性,用来满足用户对路径的处理需求。

路径拼接:join方法

path模块中有一个join方法,能够非常智能的进行路径拼接:

使用path.join()方法,可以把多个路径片段拼接为完整的路径字符串

const path = require("path");
// 拼接/a和/b
const pathStr = path.join("/a", "/b");
console.log(pathStr); // '\a\b'

join方法会识别当前操作系统,判断应当使用正斜杠(/)还是反斜杠(\

因为我使用的是windows,所以生成的是“\a\b”(反斜杠),如果在linux系统下则会生成“/a/b”(正斜杠),这就是join相比简单的字符串拼接'/a'+'/b')更智能的一点

我们在写路径时,习惯于使用正斜杠(/),但在Windows系统中文件路径默认使用的是反斜杠(\):

但我们在Windows系统中访问路径时,正反斜杠都可以正常访问

但Linux系统中文件路径只能使用正斜杠!!!

join方法另一个智能的地方在于:它会会识别并匹配相对路径的写法

const path = require("path");

// 注意:join方法会识别并匹配相对路径的写法
// 如下../c会替换掉/b(相当于找上一级的c而不是/b),所以最后拼接成的路径为\a\c
const pathStr1 = path.join("/a", "/b", "../c");
console.log(pathStr1); // '\a\c'

// const pathStr1 = path.join("/a", "/b", "../../c");
// console.log(pathStr1); // '\c'

// const pathStr1 = path.join("/a", "/b", "./c");
// console.log(pathStr1); // '\a\b\c'

// const pathStr1 = path.join("/a", "/b", "c/d");
// console.log(pathStr1); // '\a\b\c\d'

在一些目录结构复杂的项目,使用相对路径可能会不尽人意,所以我们也经常使用绝对路径来避免一些不必要的麻烦,但我们如何知道一个目录的绝对路径呢?

node.js中有一个全局变量:__dirname,它代表了当前目录的绝对路径

通过绝对路径访问文件:

const path = require("path");
const fs = require("fs");

fs.readFile(path.join(__dirname, "/static/index.txt"), "utf-8", (err, data) => {
    if (err) {
        return console.log("读取文件出错!", err);
    }
    console.log("文件内容", data);
});

获取文件名:basename方法

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

basename方法有两个参数:

  • 第一个参数必传,表示文件的路径第
  • 二个参数可选,表示文件的后缀名(也叫扩展名)

不传第二个参数可获取文件完整名(包含后缀):

const path = require("path");

// 一个用于测试的文件路径
const fpath = "./static/index.txt";

// 获取完整文件名(带扩展名)
const fullName1 = path.basename(path.join(__dirname, fpath));
console.log(fullName1); // index.txt

传第二个参数时,获取的是不含后缀的文件名:

const path = require("path");

// 一个用于测试的文件路径
const fpath = "./static/index.txt";

// 指定basename的第二个参数为文件的扩展名,来获取不带扩展名的文件名
const fullName2 = path.basename(fpath, ".txt");
console.log(fullName2); // index

注意:如果第二个参数填的后缀与文件实际后缀不符合,则获取到的依旧是文件的完整名(包含后缀)

const path = require("path");

// 一个用于测试的文件路径
const fpath = "./static/index.txt";

const fullName2 = path.basename(fpath, ".js");
console.log(fullName2); // index.txt

获取文件扩展名:extname方法

extname方法可用来获取文件的扩展名:

const path = require("path");

// 一个用于测试的文件路径
const fpath = "./static/index.txt";

// 获取文件扩展名
const fullName1 = path.extname(path.join(__dirname, fpath));
console.log(fullName1); // .txt

结语

这一节比较简单,主要介绍了path模块的几个常用方法,到此这篇关于Node.js 中常用内置模块(path 路径模块)的文章就介绍到这了,更多相关Node.js path 模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Node.js 中常用内置模块(path 路径模块)

本文链接: https://www.lsjlt.com/news/167165.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Node.js 中常用内置模块(path 路径模块)
    目录前言路径拼接:join方法获取文件名:basename方法获取文件扩展名:extname方法结语前言 进行服务端开发,少不了对各种路径的处理,之前我们是简单粗暴的使用字符串的方法...
    99+
    2022-11-13
  • 解读node.js中的path路径模块
    目录1. 什么是 path 路径模块2. 路径拼接3. 获取路径中的文件名 4. 获取路径中的文件扩展名5. 综合案例 -...
    99+
    2023-01-28
    node.js path path路径模块 path模块
  • Node.js中路径处理模块path详解
    前言 在node.js中,提供了一个path某块,在这个模块中,提供了许多使用的,可被用来处理与转换路径的方法与属性,将path的接口按照用途归类,仔细琢磨琢磨,也就没那么费解了。下面我们就来详细介绍下关于...
    99+
    2022-06-04
    详解 路径 模块
  • Node.js常用三大模块之path模块
    目录相对路径和绝对路径概念路径特殊符号path路径模块什么是path路径模块获取路径名path.dirname()路径拼接path.join()获取路径中文件名path.basena...
    99+
    2022-11-13
  • 详解nodeJS之路径PATH模块
    前面的话 path模块包含一系列处理和转换文件路径的工具集,通过 require('path') 可用来访问这个模块。本文将详细介绍path模块 路径组成 【path.dirname(p)】 返回路径p所...
    99+
    2022-06-04
    详解 路径 模块
  • 浅析node的path路径模块
    1.path路径模块初认识path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。2.path模块的API2.1 path.join()path.join() 方法,用来将...
    99+
    2023-05-14
    node path模块
  • Node.js中path模块,url模块,http模块怎么用
    小编给大家分享一下Node.js中path模块,url模块,http模块怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!path模块Node.js中,提供了一...
    99+
    2023-06-29
  • Node中的fs文件模块和path路径模块怎么使用
    这篇“Node中的fs文件模块和path路径模块怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node中的fs文件模...
    99+
    2023-07-04
  • node的path路径模块怎么使用
    这篇文章主要介绍了node的path路径模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node的path路径模块怎么使用文章都会有所收获,下面我们一起来看看吧。node的path模块前言:通过这篇文...
    99+
    2023-07-05
  • Nodejs中如何使用path路径处理模块
    这篇文章将为大家详细讲解有关Nodejs中如何使用path路径处理模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。获取路径/文件名/扩展名获取路径:pat...
    99+
    2022-10-19
  • node中path路径模块的API有哪些
    本文小编为大家详细介绍“node中path路径模块的API有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“node中path路径模块的API有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2022-10-19
  • Python引用模块和查找模块路径
    模块间相互独立相互引用是任何一种编程语言的基础能力。对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义。对于编译型的语言,比如C#中的一个...
    99+
    2022-06-04
    模块 路径 Python
  • Node.js中Process、Path和File System模块常用 API
    这篇文章给大家分享的是有关Node.js中Process、Path和File System模块常用 API的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本篇文章给大家介绍一下Nodejs中Process、Path...
    99+
    2023-06-14
  • Node.js中的模块路径是怎样的
    这篇文章主要介绍“Node.js中的模块路径是怎样的”,在日常操作中,相信很多人在Node.js中的模块路径是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.j...
    99+
    2022-10-19
  • Python常用内置模块之xml模块(详解)
    xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。从结构上,很像HTML超文本标记语言。但他们被设计的目的是不同的,超文本标记语言被设计用来显示数据,...
    99+
    2022-06-04
    模块 详解 常用
  • Node.js 中的 fs 模块与Path模块方法详解
    概述: 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集。可以通过调用 require("fs") 来获取该模块。文件系统模块中的所有方法均有异步和同步版本。...
    99+
    2022-11-12
  • Node.js中的path模块怎么用
    这篇文章主要介绍“Node.js中的path模块怎么用”,在日常操作中,相信很多人在Node.js中的path模块怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node...
    99+
    2022-10-19
  • Node.js中path模块有什么用
    这篇文章主要为大家展示了“Node.js中path模块有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Node.js中path模块有什么用”这篇文章吧。p...
    99+
    2022-10-19
  • 一文聊聊Node中的fs文件模块和path路径模块(案例分析)
    fs.readFile(path, [options], callback)示例1:读取 demo.txt 文件demo.txt 文件'前端杂货铺'app.js 文件// 导入 fs 文件系统模块 const fs = re...
    99+
    2022-11-22
    node nodejs​ Node.js
  • Node.js基础入门之path模块,url模块,http模块使用详解
    目录path模块1. path模块示例2. path模块其他方法url模块1. 旧的解析方法2. 新的解析方法http模块1. 什么是HTTP协议?2. HTTP协议约束的细节3. ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作