path

参考文档:http://nodejs.cn/api/path.html

const {normalize} = require('path');  // ES6语法
// 相当于 const normalize = require('path').normalize; // 标准化路径
console.log(normalize('/usr///local/bin'));
console.log(normalize('/usr/local/../bin'));

输入 node normalize.js ,可以修正路径

/usr/local/bin

/usr/bin

路径拼接:

const {join} = require('path');
console.log(join('/usr/', 'local', 'bin'))

/usr/local/bin

将相对路径转化为绝对路径:

const {resolve} = require('path');
console.log(resolve('./'));

/home/dex/web/nodejs

basename,dirname,extname

const {basename, dirname, extname} = require('path');
const filePath = '/usr/local/bin/no.txt'; console.log(basename(filePath));
console.log(dirname(filePath));
console.log(extname(filePath));

no.txt

/usr/local/bin

.txt

parse与format

const {parse, format} = require('path');
const filePath = '/usr/local/node_modules/n/iloveu.json';
const ret = parse(filePath);
console.log(ret);
const path = format(ret);
console.log(path);

{ root: '/',

dir: '/usr/local/node_modules/n',

base: 'iloveu.json',

ext: '.json',

name: 'iloveu' }

/usr/local/node_modules/n/iloveu.json

与操作系统有关的一些 sep delimiter win32 posix

const {sep, delimiter, win32, posix} = require('path');
console.log('sep:', sep);
console.log('win sep:', win32.sep);
console.log('posix sep:', posix.sep);
console.log('PATH:', process.env.PATH);
console.log('delimiter:', delimiter);
console.log('win delimiter:', win32.delimiter);
console.log('posix delimiter:', posix.delimiter);

sep: /

win sep:

posix sep: /

PATH: /home/dex/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

delimiter: :

win delimiter: ;

posix delimiter: :

delimiter: // 分割符,windows下是;(分号)Linux是:(冒号)

const path = require('path');

console.log('__dirname:', __dirname);
console.log('process.cwd():', process.cwd());
console.log('./ :', path.resolve('./'));

输入如下命令:node ./nodejs/path.js

__dirname: /home/dex/web/nodejs

process.cwd(): /home/dex/web

./ : /home/dex/web

path:

  • __dirname,__filename总是返回文件的绝对路径
  • process.cwd()总是返回执行node命令所在文件夹

相对路径./

  • 在require方法中总是相对当前文件所在文件夹
  • 在其他地方和process.cwd()一样,相对node启动文件夹

最新文章

  1. Node.js:理解stream
  2. [USACO2009 NOV GOLD]奶牛的图片
  3. win7里开始菜单属性里的隐私项无法选择解决方法
  4. 【转】copy 和 mutablecopy (深拷贝和浅拷贝)
  5. 你应该知道的8个Java牛人
  6. linux安装mysql5.1.56
  7. DB2错误代码
  8. 18. Scrum敏捷软件开发
  9. Tensorflow (1)
  10. 批量文件重命名工具-极力推荐 advanced renamer
  11. mysql一库多表查询主键
  12. Springmvc 横向源码原理解析(原创)
  13. 前端笔记之JavaScript(一)初识JavaScript
  14. Logstash 解析Json字符串,删除json嵌套字段
  15. codeforces668b //Little Artem and Dance// Codeforces Round #348
  16. 【IDEA】【2】创建Maven项目及部署发布
  17. User_Agent大全
  18. 鸟哥的Linux私房菜——第十章
  19. 自然语言交流系统 phxnet团队 创新实训 个人博客 (十一)
  20. php 浮点数

热门文章

  1. CC20:高度最小的BST
  2. js 创建方法
  3. BZOJ1057(单调栈 or 悬线法)
  4. java--时间日期用法
  5. NET Core:部署项目到Ubuntu Server
  6. Jexus 5.8.2
  7. MapReduce项目之气温统计
  8. 快速开启MySQL慢日志查询的方法
  9. MySQL 查看表大小
  10. java类及编写public类的基础点