NodeJS3-1基础API----Path(路径)
path 和路径有关的操作
Path(路径)
path
模块提供用于处理文件路径和目录路径的实用工具。 它可以使用以下方式访问
const path = require('path');
1. path.normalize(path) [就是把路径改成比较标准的路径格式]
// 把路径改成比较标准的路径格式
const {normalize} = require('path')
// const normalize = require('path').normalize
console.log(normalize('./user//local/bin'));
console.log(normalize('/user//local/../bin'));
运行结果
2.path.join([...paths]) 拼接,可以拼接路径,也是规范的拼接
const {join} = require('path')
console.log(join('/user','local','bin/'));
console.log(join('/user','../local','bin/'));
运行结果
3.path.resolve([...paths]) path.resolve()
方法将路径或路径片段的序列解析为绝对路径。
const{resolve} = require('path')
//相对路径帮你解释成绝对路径
console.log(resolve('./'));
运行结果
4.names相关的(path.basename(path[, ext]) & path.dirname(path) &path.extname(path))
path.basename(path[, ext]) 文件扩展名
path.dirname(path) path
的目录名
path.extname(path) path
的扩展名
const {basename,dirname,extname} =require('path')
const filePath = '/user/local/bin/no.txt'
//所在文件名
console.log(basename(filePath));
//所在路径
console.log(dirname(filePath));
//拓展名
console.log(extname(filePath));
运行结果
5.path.parse(path) 和 path.format(pathObject)
path.parse()
方法返回一个对象,其属性表示 path
的重要元素
path.format()
方法从对象返回路径字符串。
const {parse,format} = require('path')
const filePath ='/user/local/node_modules/n/package.json'
// parse 分析一下路径,返回对象
const ret = parse(filePath)
console.log(ret);
// format把对象返回成路径
console.log(format(ret));
运行结果:
当为 pathObject
提供属性时,注意以下组合,其中一些属性优先于另一些属性:
- 如果提供了
pathObject.dir
,则忽略pathObject.root
。 - 如果
pathObject.base
存在,则忽略pathObject.ext
和pathObject.name
。
6.跟操作系统有关的(sep,delimiter,win32,posix)
const {sep, delimiter, win32 ,posix} = require('path')
//路径的分隔符
console.log('sep',sep);
console.log('posix sep',posix.sep);
console.log('PATH',process.env.PATH);
//delimiter,path的分隔符
console.log('delimiter',delimiter);
console.log('posix delimiter',posix.delimiter);
运行结果
可以获取路径的方法(3种)
const path = require('path');
const mod = require('./02_cusmod.js');
console.log(mod.testVar);
console.log('__dirname ',__dirname);
console.log('process.cwd()',process.cwd());
console.log('./ ',path.resolve('./'));
运行结果
总结
- _dirname,_filename 总是返回文件的绝对路径(物理磁盘上的路径)
- processn.cwd()总是返回执行node命令所在文件夹[当前用户在哪里启动的叫脚本]
- ./ 在require方法中总是相对当前文件所在文件夹
- ./ 在其他地方和process.cwd()一样,相对node启动文件夹
NodeJS3-1基础API----Path(路径)的更多相关文章
- SVG 学习<四> 基础API
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
- JAVA_SE基础——4.path的临时配置&Classpath的配置
这次,我来写下关于path的临时配置的心的 我来说个有可能的实例:如果你去到别人的电脑 又想写代码 又不想改乱别人的path配置的话 再说别人愿意你在别人的电脑上瞎配吗? 那该怎么办呢? 那没问题 ...
- svg(1) path路径
注: 笔记来自于http://www.jb51.net/html5/72250.html 以及http://blog.csdn.net/u013291076/article/details/2707 ...
- Linux下修改PATH路径
1.#PATH=$PATH:/opt/lamp/mysql/bin 使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效 2.#vi /etc/profi ...
- Linux系统下修改环境变量PATH路径的三种方法
这里介绍Linux的知识,比如把/etc/apache/bin目录添加到PATH中有三种方法,看完之后你将学会Linux系统下如何修改环境变量PATH路径,需要的朋友可以参考下 电脑中必不可少的就是操 ...
- Linux高性能server编程——Linux网络基础API及应用
Linux网络编程基础API 具体介绍了socket地址意义极其API,在介绍数据读写API部分引入一个有关带外数据发送和接收的程序,最后还介绍了其它一些辅助API. socket地址API 主 ...
- 服务器编程入门(4)Linux网络编程基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系. 这节主要介绍三个方面的内容:套接字( ...
- 如何修改Window系统下PATH路径以及win8下masm32V11
如何修改Window系统下PATH路径 //其实这个都是临时性的, 退出dos窗口就没有用了,只是做个笔记罢了 C:\Users\Administrator> set path=E ...
- Linux 高性能服务器编程——Linux网络编程基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系. 这节主要介绍三个方面的内容:套接字(so ...
- Android BLE与终端通信(一)——Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址
Android BLE与终端通信(一)--Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址 Hello,工作需要,也必须开始向BLE方向学习了,公司的核心技术就是BLE终端 ...
随机推荐
- Windows 10上源码编译glog和gflags 编写glog-config.cmake和gflags-config.cmake | compile glog and glags on windows from source
本文首发于个人博客https://kezunlin.me/post/bb64e398/,欢迎阅读! compile glog v0.3.5 and glags on windows from sour ...
- mac如何开启两个vmware虚拟机
转载链接:https://blog.csdn.net/aifore/article/details/87833088
- 百度杯 十二月 what_the_fuck
对于这道题,我还真的想说 what_the_fuck !! 这道题拿到就只发觉一个格式化字符串漏洞,其他的就找不到了 . unsigned __int64 sub_4008C5() { char s; ...
- 🔥《手把手教你》系列练习篇之1-python+ selenium自动化测试(详细教程)
1.简介 相信各位小伙伴或者同学们通过前面已经介绍了的Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是 一只脚已经迈入这个门 ...
- 记一次安卓app上线应用宝
背景:前几个月开发了一个安卓app(用的是Dcloud公司的uniapp框架),已经成功上线华为应用市场和小米应用市场.之前上线应用宝是因为没有软著,所以一直也没上线.近期甲方又提出了上架应用宝,于是 ...
- 洛谷P1402——乒乓球
原题链接: https://www.luogu.com.cn/problem/P1042 题面简述 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中11分制 ...
- 都9012了,Java8中的日期时间API你还没有掌握?
一,Java8日期时间API产生的前因后果 1.1 为什么要重新定义一套日期时间API 操作不方便:java中最初的Date不能直接对指定字段进行加减操作也不支持国际化,后来新增了Calendar,但 ...
- Chapter 07-Basic statistics(Part4 t-tests&&nonparametric tests of group difference)
一. t-tests 这一部分我们使用分布在MASS包中的UScrime数据集.它是关于美国47个州在1960年时,关于惩罚制度对犯罪率的影响. Prob:监禁(坐牢)的概率: U1:14到24岁的城 ...
- 高逼格利器之Python闭包与装饰器
生活在魔都的小明,终于攒够了首付,在魔都郊区买了一套房子:有一天,小明踩了狗屎,中了一注彩票,得到了20w,小明很是欢喜,于是想干脆用这20万来装修房子吧(decoration): 整个装修过程,小明 ...
- git的用法 回到某个版本
进入到项目文件夹 如果新建项目时没有勾选git 进入到项目中