node.js path模块属性方法
2016-12-26 19:17
691 查看
node.js path模块属性方法
'use strick' /*使用之前需要查询出path模块*/ const path = require('path'); const dirname = __dirname; /** * path.jion(paths)方法是将路径参数序列拼接起来的 * */ let query = path.join(dirname,'./query.js'); console.log(query);// dirname/query.js /** * path.normalize(path)方法是将路径正常化为平台的分割符 * 1.处理//为/ * 2.处理将路径中不包含的文件夹去掉,一般结合../,normal输出可以看出该方法将路径矫正了 * ,不走弯路,,因为name/../其实就是name的父目录,接着age是在name父目录里面所以没有必 * 要在name文件夹绕一圈再进入age * 3.同样的./表示当前目录,需要将累赘砍去 * 4.如果路径为空,normal值为‘.’ * */ let normal = path.normalize('//name/.././age/index.js'); let normal = path.normalize('name/age/../index.js'); console.log(normal); // '/age/index.js' /** * 判断一个路径是否是绝对路径 */ let isAbsolute = __dirname + 'query.js'; let Absolute1 = '../query.js'; let Absolute2 = '.'; console.log(path.isAbsolute(isAbsolute)); console.log(path.isAbsolute(Absolute1)); console.log(path.isAbsolute(Absolute2)); /** * path.posix提供posix特定实现路径方法接口,以下打印出posix系统下面路径模块的属性和方法 */ console.log(path.posix); /** *path.resolve(paths);参数是一系列路径,或者是路径片段,将参数转换成绝对路径 *1.参数拼接从右边到左边开始知道遇到以/开头的参数(posix),被认为是找到绝对路径,如果一 * 直没有遇到那么就是拼接到最后以当前工作目录拼接上,当前工作目录指的是terminal当前cd到 * 的目录 * */ console.log(path.resolve(__dirname,'/jxisme/../','node/query.js')); console.log(path.resolve('query.js')); console.log(path.resolve('/foo/bar', './baz')); // Returns: '/foo/bar/baz' console.log(path.resolve('/foo/bar', '/tmp/file/')); // Returns: '/tmp/file' console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')); // if the current working directory is /home/myself/node, // this returns '/home/myself/node/wwwroot/static_files/gif/image.gif' /** * path.sep;取出当前平台用于将路径分割为路径片段的分隔符 * path.delimiter;取出当前平台用于将多个路径之间的分割符号 */ console.log(path.sep); // '/' console.log(path.delimiter) // ':' /** * path.relative(from, to); * 1.传入两个绝对路径,返回to相对from目录(路径)的相对路径 * 2.两个路径相等时候,返回一个0长度的字符串(指的是空串不能不传参数) * 3.如果to或from为空,将空的参数替换为当前工作目录 */ console.log(path.relative('/data/orandea/test/aaa','/data/orandea/impl/bb')); // ../../impl/bb console.log(path.relative('/data/orandea/test/aaa','')); // ../../../../Volumes/Macintosh HD/WebDesign/node/path console.log(path.relative('','')); // '' /* *以下过程会先找出from到to的相对路径,../tal,然后再再resolve寻找绝对路径,直接将../tal**拼 合/data/name/cod/mac之后为/data/name/cod/mac/../tal再将mac/../抵消 */ console.log(path.resolve( '/data/name/cod/mac' ,path.relative('/data/name/cod/mac','/data/name/impl/tal') )); // HD/WebDesign/impl/tal console.log(path.resolve('/data/name/impl/tal')); // /data/name/impl/tal /** * path.parse(path);将路径通过/号分成元素存放在对象中, * 输出:{ root: '/', dir: '/data/name/code', base: 'index.js', ext: '.js', name: 'index' } { root: '/', dir: '/data/name/code', base: 'index', ext: '', name: 'index' } */ console.log(path.parse('/data/name/code/index.js')); console.log(path.parse('/data/name/code/index'));
相关文章推荐
- Node.js中process模块常用的属性和方法
- 详解Node.js中path模块的resolve()和join()方法的区别
- node.js基于工厂方法的mysql模块封装
- Node.js中对通用模块的封装方法
- node.js中的path.extname方法使用说明
- Node.js -- Router模块中有一个param方法
- node.js中的fs.realpathSync方法使用说明
- linux 下node.js 使用child_process模块的exec方法所遇问题
- node.js中的path.sep方法使用说明
- node.js中的path.extname方法使用说明
- node.js中的path.basename方法使用说明
- Node.js中的Path模块
- node.js中的path.isAbsolute方法使用说明
- node.js中的path.basename方法使用说明
- 在Windows上安装Node.js模块的方法
- NODE.JS加密模块CRYPTO常用方法介绍
- node.js中的path.normalize方法使用说明
- node.js中的path.sep方法使用说明
- node.js中的fs.realpathSync方法使用说明
- Nodejs fs和path模块