NodeJS记录(二)

以下是在到r.js的build/jslib/build.js和build/jslib/node/file.js时碰到的node相关知识点。

 

一、获取当前执行js文件的真实路径

 

node中使用fs模块的fs.realpathSync方法。如目录C:\node\b.js,b.js内容如下

 

var fs = require('fs');

// 点号表示当前文件所在路径
var str = fs.realpathSync('.');
console.log(str);

 

执行b.js文件,控制台输出如下

 

 

有时我们需要将realpathSync返回的路径中的反斜杠转成正斜杠,r.js的file.js中添加了一个函数

 

function frontSlash(path) {
    return path.replace(/\\/g, '/');
}

 

 

二、将路径字符串标准化

 

使用node的path模块normalize方法可以将路径标准化,如多个斜杠只保留一个。

 

var path = require('path');
// bar后有两个斜杠
var str = path.normalize('/foo/bar//baz');
// 格式化后只保留一个
console.log(str);

 

需要注意“..”和“.”。斜杠后加一个点“.”没有意义可以删除,如以下str1和str2是等价的

 

var path = require('path');
var str1 = path.normalize('/foo/bar/baz');
var str2 = path.normalize('/foo/bar/baz/.');
console.log(str1);
console.log(str2);
 

两个点“..”会返回上一级目录,如

 

var path = require('path');
var str1 = path.normalize('/foo/bar/baz');
var str2 = path.normalize('/foo/bar/baz/..');
console.log(str1);
console.log(str2);

执行后结果如下

 

 

以上截图可看出路径输出的都是反斜杠。需要注意下,windows中输出的路径是反斜杠,linux中是正斜杠。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值