## Path 模块
path模块提供了一些用于处理文件路径的小工具
Windows 与 POSI(可移植操作系统接口, Portable Operating System Interface of UNIX)
path 模块会因操作系统的差异而不同。 比如在 Windows 上,path 模块会认为使用的是 Windows 风格的路径。
例如,对文件路径 C:\temp\myfile.html 使用 path.basename(),在 POSIX 上与在 Windows 上会产生不同的结果
在 POSIX 上:
~~~
path.basename('C:\\temp\\myfile.html');
// 返回: 'C:\\temp\\myfile.html'
~~~
在 Windows 上:
~~~
path.basename('C:\\temp\\myfile.html');
// 返回: 'myfile.html'
~~~
要想在任何操作系统上处理 Windows 文件路径时获得一致的结果,可以使用 path.win32:
在 POSIX 和 Windows 上:
~~~
path.win32.basename('C:\\temp\\myfile.html');
// 返回: 'myfile.html'
~~~
如果想在任何操作系统上处理 POSIX 文件路径时获得一致的结果,则使用 path.posix:
在 POSIX 和 Windows 上:
~~~
path.posix.basename('/tmp/myfile.html');
// 返回: 'myfile.html'
~~~
1.path.basename
~~~
path.basename('/foo/bar/baz/asdf/quux.html');
// 返回: 'quux.html'
path.basename('/foo/bar/baz/asdf/quux.html', '.html');
// 返回: 'quux'
~~~
2.path.dirname(path)
~~~
path.dirname('/foo/bar/baz/asdf/quux');
// 返回: '/foo/bar/baz/asdf'
~~~
3.path.extname(path)
~~~
path.extname('index.html');
// 返回: '.html'
path.extname('index.coffee.md');
// 返回: '.md'
path.extname('index.');
// 返回: '.'
path.extname('index');
// 返回: ''
path.extname('.index');
// 返回: ''
~~~
4.path.format(pathObject)
~~~
// 如果指定了 `dir`、`root` 和 `base`,则返回 `${dir}${path.sep}${base}`。
// `root` 会被忽略。
path.format({
root: '/ignored',
dir: '/home/user/dir',
base: 'file.txt'
});
// 返回: '/home/user/dir/file.txt'
// 如果没有指定 `dir`,则使用 `root`。
// 如果只指定了 `root` 或 `dir` 等于 `root`,则不会包含分隔符。
// `ext` 会被忽略。
path.format({
root: '/',
base: 'file.txt',
ext: 'ignored'
});
// 返回: '/file.txt'
// 如果没有指定 `base`,则使用 `name` + `ext`。
path.format({
root: '/',
name: 'file',
ext: '.txt'
});
// 返回: '/file.txt'
~~~
5.path.isAbsolute(path)
~~~
path.isAbsolute('/foo/bar'); // true
path.isAbsolute('/baz/..'); // true
path.isAbsolute('qux/'); // false
path.isAbsolute('.'); // false
~~~
6.path.join([...paths])
~~~
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// 返回: '/foo/bar/baz/asdf'
path.join('foo', {}, 'bar');
// 抛出 'TypeError: Path must be a string. Received {}'
~~~
7.path.parse(path)
~~~
path.parse('/home/user/dir/file.txt');
~~~
8.path.resolve([...paths])
~~~
path.resolve('/foo/bar', './baz');
// 返回: '/foo/bar/baz'
path.resolve('/foo/bar', '/tmp/file/');
// 返回: '/tmp/file'
path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 如果当前工作目录是 /home/myself/node,则返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'
~~~
9.path.normalize
~~~
path.normalize('/foo/bar//baz/asdf/quux/..');
// 返回: '/foo/bar/baz/asdf'
~~~
~~~
path.normalize('C:\\temp\\\\foo\\bar\\..\\');
// 返回: 'C:\\temp\\foo\\'
~~~
- Less
- 课程规划
- Less概述
- 变量
- 混合
- 嵌套
- 继承
- 导入
- 函数
- 其他
- 实战
- ES6
- 课程规划
- ES6概述
- let和const命令
- 变量的解构赋值
- 字符串扩展
- 函数扩展
- 数组扩展
- Set和Map数据结构
- Symbol
- Generator 函数
- Promise对象
- Class语法
- Module 的语法
- ES7和ES8
- 实战
- VUE
- 课程规划
- vue概述
- vue实例
- 模版语法
- 计算属性和侦听器
- Class和Style的绑定
- 条件渲染
- 列表渲染
- 事件处理
- 表单输入绑定
- 组件基础
- 过渡和动画
- 自定义指令
- 过滤器
- 响应式原理
- 实战课程
- Node
- 课程规划
- 课程概述
- node入门实例
- 模块系统
- 回调函数
- 全局对象
- 常用模块介绍
- 常用模块介绍-1
- 常用模块介绍-2
- 常用模块介绍-3
- npm使用
- express的使用
- express的使用-1
- webpack基础
- 实战
- 微信小程序
- 课程规划
- 课程概述
- 基本配置和生命周期
- wxml模版
- wxss
- wxs
- 组件
- 微信API
- 自定义组件开发
- 实战小程序
- Element
- 课程规划
- 课程概述
- 特性介绍
- 组件介绍-基础组件
- 组件介绍-表单组件
- 组件介绍-数据展示组件
- 组件介绍-提示组件
- 组件介绍-导航组件
- 组件介绍-其他组件
- 综合案例