node.js学习笔记(12) path

简介:

用过python的童鞋一定知道python有一个自带模块os.path,os.path集成了很多关于路径的操作,非常好用。


Node.js的path模块类似于python的os.path,尽管功能没有那么丰富。


来看看path有哪些功能


  • 获取文件名
var path = require('path');
var path_str = '/home/lee/works/nodejs/study12/index.html';
console.log('文件名带后缀:'+path.basename(path_str));
console.log('文件名不带后缀:'+path.basename(path_str, '.html'));
  • 环境变量分隔符
console.log(path.delimiter); //一般linux是‘:’,windows是‘;’
console.log(process.env.PATH); //打印环境变量path
console.log(process.env.PATH.split(path.delimiter)) //用path.delimiter分割
  • 目录分隔符
console.log(path.sep); // ‘/’或‘\\’
console.log(path_str.split(path.sep)); // [ '', 'home', 'lee', 'works', 'nodejs', 'study12', 'index.html' ]


  • 获取目录
console.log(path.dirname(path_str)); // /home/lee/works/nodejs/study12
  • 获取后缀名
console.log(path.extname(path_str)); //.html
console.log(path.extname('index.html.bak')); //.bak
  • 格式化
path_format = path.format({
    root : "/",
    dir : "/home/user/dir",
    base : "file.txt",
    ext : ".txt",
    name : "file"
});
console.log(path_format); // '/home/user/dir/file.txt'
  • 判断是否绝对路径
console.log(path.isAbsolute(path_str)); //true
console.log(path.isAbsolute('/foo/bar')); // true
console.log(path.isAbsolute('/baz/..') ); // true
console.log(path.isAbsolute('qux/'));     // false
console.log(path.isAbsolute('.'));        // false

  • 路径组合
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')); // '/foo/bar/baz/asdf'
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux')); // '/foo/bar/baz/asdf/quux'

  • 路径常规化
console.log(path.normalize('/foo/bar//baz/asdf/quux/..')); // '/foo/bar/baz/asdf'

  • 路径对象化
var path_parsed = path.parse(path_str);
console.log(path_parsed);
/*
 { root: '/',
 dir: '/home/lee/works/nodejs/study12',
 base: 'index.html',
 ext: '.html',
 name: 'index' }
 */

  • 相对路径
console.log(path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')); 
// '../../impl/bbb'

  • resolve
console.log(path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile'));
/*
 相当于执行了
 cd foo/bar
 cd /tmp/file/
 cd ..
 cd a/../subfile
 pwd
 最后返回当前路径
 */




目录
相关文章
|
4月前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
4月前
|
Prometheus 监控 Cloud Native
prometheus学习笔记之node-export
prometheus 监控 node-exporter
|
4月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
3月前
|
JavaScript 前端开发
【干货分享】JavaScript学习笔记分享
【干货分享】JavaScript学习笔记分享
66 0
|
5月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
6月前
|
JavaScript
【Node.js基础02】fs、path模块
【7月更文挑战第17天】
33 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
48 0
|
8月前
|
JavaScript 前端开发
node.js中path模块-路径处理,语法讲解
node.js中path模块-路径处理,语法讲解
|
7月前
|
JavaScript Linux 开发者
【Node.js】从基础到精通(二)—— Path 模块全解析
【Node.js】从基础到精通(二)—— Path 模块全解析
62 0
|
8月前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
79 0
webgl学习笔记3_javascript的HTML DOM