iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >node的path路径模块怎么使用
  • 875
分享到

node的path路径模块怎么使用

2023-07-05 03:07:39 875人浏览 薄情痞子
摘要

这篇文章主要介绍了node的path路径模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node的path路径模块怎么使用文章都会有所收获,下面我们一起来看看吧。node的path模块前言:通过这篇文

这篇文章主要介绍了node的path路径模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node的path路径模块怎么使用文章都会有所收获,下面我们一起来看看吧。

node的path模块

前言:通过这篇文章你会了解node的path内置模块的一些api
如果需要的话可到node官网查看。当然实践大于理论
所以我准备了一个案例,用于练手

1.path路径模块初认识

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

2.path模块的API

2.1 path.join()

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

语法格式为
node的path路径模块怎么使用

…paths(string) 路径片段的序列 ,就是你需要拼接的所有路径系列。

需要注意的是这个返回的值为string

//引入path模块const path=require("path")//书写要拼接的路径const pathStr=path.join('/a','/b/c','../','./d','e')console.log(pathStr)

node的path路径模块怎么使用

2.2 path.basename()

使用 path.basename() 方法,可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名

语法格式
node的path路径模块怎么使用

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

  • 可选参数,表示文件扩展名

  • 表示路径中的最后一部分

const path=require("path")const  fpath='./a/b/c/index.html'var fullname=path.basename(fpath)console.log(fullname)//获取指定后缀的文件名const namepath=path.basename(fpath,'.html')console.log(namepath)

node的path路径模块怎么使用

2.3 path.extname()

path.extname()用于获取路径中的文件扩展名

格式为
node的path路径模块怎么使用

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

  • 返回: 返回得到的扩展名字符串

const path=require("path")const fpath='./a/b/c/d/index.html'const ftext =path.extname(fpath)console.log(ftext)

node的path路径模块怎么使用

3.时钟案例实践

将所提供的代码(一个文件同时拥有html,CSSjs)进行拆分
拆分成三个文件分别为index.html index.css index.js并将其存放到一个准备好的文件中

源代码
点击右键查看源代码

3.1实现步骤

创建两个正则表达式,分别用来匹配 <style><script> 标签
2. 使用 fs 模块,读取需要被处理的 HTML 文件
3. 自定义 resolveCSS 方法,来写入 index.css 样式文件
4. 自定义 resolveJS 方法,来写入 index.js 脚本文件
5.自定义 resolveHTML 方法,来写入 index.html 文件

3.1.1步骤1 - 导入需要的模块并创建正则表达式

const path=require('path')const fs=require('fs')const regStyle=/<style>[\s\S]*<\/style>/const scriptruler=/<script>[\s\S]*<\/script>///需要读取的文件fs.readFile(path.join(__dirname,'/static/index.html'),'utf-8',function(err,dateStr){    if(err){        return console.log("读取失败")    }   resolveCSS(dateStr)   resolveHTML(dateStr)   resolveJS (dateStr)})

3.1.2 自定义 resolveCSS resolveHTML resolveJS 方法

function resolveCSS(htmlStr){    const r1=regStyle.exec(htmlStr)    const newcss=r1[0].replace('<style>','').replace('</style>','')    //将匹配的css写入到指定的index.css文件中    fs.writeFile(path.join(__dirname,'/static/index.css'),newcss,function(err){        if(err) return console.log("导入失败"+err.message)        console.log("ojbk")    })}function resolveJS(htmlStr){    const r2=scriptruler.exec(htmlStr)    const newcss=r2[0].replace('<script>','').replace('</script>','')    //将匹配的css写入到指定的index.js文件中    fs.writeFile(path.join(__dirname,'/static/index.js'),newcss,function(err){        if(err) return console.log("导入失败"+err.message)        console.log("ojbk")    })}function  resolveHTML(htmlStr){    const newhtml=htmlStr    .replace(regStyle,'<link rel="stylesheet" href="./index.css">')    .replace(scriptruler,'<script src="./index.js"></script>')    //将匹配的css写入到指定的index.html文件中    fs.writeFile(path.join(__dirname,'/static/index2.html'),newhtml,function(err){        if(err) return console.log("导入失败"+err.message)        console.log("ojbk")    })}

最终的结果就是在指定的文件中将样式剥离开

但是那个最开始的index.html由于是包含全部的代码,而后
在拆分样式的时候存放的位置还是原来的,所以最终index.html的代码不变

node的path路径模块怎么使用

关于“node的path路径模块怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“node的path路径模块怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: node的path路径模块怎么使用

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

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

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

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

下载Word文档
猜你喜欢
  • C++ 生态系统中流行库和框架的贡献指南
    作为 c++++ 开发人员,通过遵循以下步骤即可为流行库和框架做出贡献:选择一个项目并熟悉其代码库。在 issue 跟踪器中寻找适合初学者的问题。创建一个新分支,实现修复并添加测试。提交...
    99+
    2024-05-15
    框架 c++ 流行库 git
  • C++ 生态系统中流行库和框架的社区支持情况
    c++++生态系统中流行库和框架的社区支持情况:boost:活跃的社区提供广泛的文档、教程和讨论区,确保持续的维护和更新。qt:庞大的社区提供丰富的文档、示例和论坛,积极参与开发和维护。...
    99+
    2024-05-15
    生态系统 社区支持 c++ overflow 标准库
  • c++中if elseif使用规则
    c++ 中 if-else if 语句的使用规则为:语法:if (条件1) { // 执行代码块 1} else if (条件 2) { // 执行代码块 2}// ...else ...
    99+
    2024-05-15
    c++
  • c++中的继承怎么写
    继承是一种允许类从现有类派生并访问其成员的强大机制。在 c++ 中,继承类型包括:单继承:一个子类从一个基类继承。多继承:一个子类从多个基类继承。层次继承:多个子类从同一个基类继承。多层...
    99+
    2024-05-15
    c++
  • c++中如何使用类和对象掌握目标
    在 c++ 中创建类和对象:使用 class 关键字定义类,包含数据成员和方法。使用对象名称和类名称创建对象。访问权限包括:公有、受保护和私有。数据成员是类的变量,每个对象拥有自己的副本...
    99+
    2024-05-15
    c++
  • c++中优先级是什么意思
    c++ 中的优先级规则:优先级高的操作符先执行,相同优先级的从左到右执行,括号可改变执行顺序。操作符优先级表包含从最高到最低的优先级列表,其中赋值运算符具有最低优先级。通过了解优先级,可...
    99+
    2024-05-15
    c++
  • c++中a+是什么意思
    c++ 中的 a+ 运算符表示自增运算符,用于将变量递增 1 并将结果存储在同一变量中。语法为 a++,用法包括循环和计数器。它可与后置递增运算符 ++a 交换使用,后者在表达式求值后递...
    99+
    2024-05-15
    c++
  • c++中a.b什么意思
    c++kquote>“a.b”表示对象“a”的成员“b”,用于访问对象成员,可用“对象名.成员名”的语法。它还可以用于访问嵌套成员,如“对象名.嵌套成员名.成员名”的语法。 c++...
    99+
    2024-05-15
    c++
  • C++ 并发编程库的优缺点
    c++++ 提供了多种并发编程库,满足不同场景下的需求。线程库 (std::thread) 易于使用但开销大;异步库 (std::async) 可异步执行任务,但 api 复杂;协程库 ...
    99+
    2024-05-15
    c++ 并发编程
  • 如何在 Golang 中备份数据库?
    在 golang 中备份数据库对于保护数据至关重要。可以使用标准库中的 database/sql 包,或第三方包如 github.com/go-sql-driver/mysql。具体步骤...
    99+
    2024-05-15
    golang 数据库备份 mysql git 标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作