我的编程空间,编程开发者的网络收藏夹
学习永远不晚

node.js中的fs.realpathSync方法使用说明

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

node.js中的fs.realpathSync方法使用说明

方法说明:

同步版的 fs.realpath() 。

语法:

fs.realpathSync(path, [cache])

由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )

接收参数:

path 路径

cache 可选,一个文字的映射路径可用于强制一个特定的路径解决或避免额外的fs.stat需要知道真正的路径对象。

例子:

var fs = require('fs');

 

// 点号表示当前文件所在路径

var str = fs.realpathSync('.');

console.log(str);

源码:

fs.realpathSync = function realpathSync(p, cache) {

  // make p is absolute

  p = pathModule.resolve(p);

  if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {

    return cache[p];

  }

  var original = p,

      seenLinks = {},

      knownHard = {};

  // current character position in p

  var pos;

  // the partial path so far, including a trailing slash if any

  var current;

  // the partial path without a trailing slash (except when pointing at a root)

  var base;

  // the partial path scanned in the previous round, with slash

  var previous;

  start();

  function start() {

    // Skip over roots

    var m = splitRootRe.exec(p);

    pos = m[0].length;

    current = m[0];

    base = m[0];

    previous = '';

    // On windows, check that the root exists. On unix there is no need.

    if (isWindows && !knownHard[base]) {

      fs.lstatSync(base);

      knownHard[base] = true;

    }

  }

  // walk down the path, swapping out linked pathparts for their real

  // values

  // NB: p.length changes.

  while (pos < p.length) {

    // find the next part

    nextPartRe.lastIndex = pos;

    var result = nextPartRe.exec(p);

    previous = current;

    current += result[0];

    base = previous + result[1];

    pos = nextPartRe.lastIndex;

    // continue if not a symlink

    if (knownHard[base] || (cache && cache[base] === base)) {

      continue;

    }

    var resolvedLink;

    if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {

      // some known symbolic link. no need to stat again.

      resolvedLink = cache[base];

    } else {

      var stat = fs.lstatSync(base);

      if (!stat.isSymbolicLink()) {

        knownHard[base] = true;

        if (cache) cache[base] = base;

        continue;

      }

      // read the link if it wasn't read before

      // dev/ino always return 0 on windows, so skip the check.

      var linkTarget = null;

      if (!isWindows) {

        var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);

        if (seenLinks.hasOwnProperty(id)) {

          linkTarget = seenLinks[id];

        }

      }

      if (util.isNull(linkTarget)) {

        fs.statSync(base);

        linkTarget = fs.readlinkSync(base);

      }

      resolvedLink = pathModule.resolve(previous, linkTarget);

      // track this, if given a cache.

      if (cache) cache[base] = resolvedLink;

      if (!isWindows) seenLinks[id] = linkTarget;

    }

    // resolve the link, then start over

    p = pathModule.resolve(resolvedLink, p.slice(pos));

    start();

  }

  if (cache) cache[original] = p;

  return p;

};

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

node.js中的fs.realpathSync方法使用说明

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

node.js中的fs.realpathSync方法使用说明

方法说明: 同步版的 fs.realpath() 。 语法:fs.realpathSync(path, [cache])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: path
2022-06-04

node.js中的events.EventEmitter.listenerCount方法使用说明

方法说明: 返回注册了指定事件的监听器数量。 语法:EventEmitter.listenerCount(emitter, event)接收参数: emitter 事件发射器 event
2022-06-04

node.js中的path.sep方法使用说明

方法说明: 将特定文字分隔符 ‘\' 或 ‘/' 的字符串转换成数组对象。 语法:path.sep由于该方法属于path模块,使用前需要引入path模块(var path= require(“path”) ) 接收参数: 无 例子:*nix
2022-06-04

node.js中的console.info方法使用说明

方法说明: 该方法与 console.log() 相同。从源码看,它是直接调用console.log的。 语法:console.info([data], [...])接收参数: 接受若干个参数,如果只有一个参数,则输出这个参数的字符串形式。
2022-06-04

node.js中的console.log方法使用说明

方法说明: 向标准输出流打印字符并以换行符结束。 语法:console.log([data], [...])接收参数: console.log接受若干个参数,如果只有一个参数,则输出这个参数的字符串形式。 如果有多个参数,则以类似于C语言p
2022-06-04

node.js中的path.dirname方法使用说明

方法说明: 返回path的目录。类似于UNIX目录命令。 语法:path.dirname(p)由于该方法属于path模块,使用前需要引入path模块(var path= require(“path”) ) 接收参数: p pa
2022-06-04

node.js中的fs.realpath方法使用说明

方法说明: 获取真实路径。 可以使用process.cwd解决相对路径。 语法:fs.realpath(path, [cache], [callback(err , resolvedPath)])由于该方法属于fs模块,使用前需要引入fs模
2022-06-04

node.js中的fs.fchmod方法使用说明

方法说明: 更改文件权限(文件描述符)。 语法:fs.fchmod(fd, mode, [callback(err)])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: fd
2022-06-04

node.js中的fs.symlink方法使用说明

方法说明: 创建符号链接。 语法:fs.symlink(srcpath, dstpath, [type], [callback(err)])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接
2022-06-04

node.js中的emitter.on方法使用说明

方法说明: 为指定事件注册一个监听器。 语法:emitter.on(event, listener)emitter.addListener(event, listener)接收参数: event (string)
2022-06-04

node.js中的buffer.slice方法使用说明

方法说明: 返回一个新的buffer对象,这个新buffer和老buffer公用一个内存。 但是被start和end索引偏移缩减了。(比如,一个buffer里有1到10个字节,我们只想要4-8个字节,就可以用这个函数buf.slice(4,
2022-06-04

node.js中的http.response.write方法使用说明

方法说明: 向请求的客户端发送响应内容。 在 response.end() 之前,response.write() 可以被执行多次。 语法:response.write(chunk, [encoding])参数: chunk
2022-06-04

node.js中的http.response.getHeader方法使用说明

方法说明: 读取已经列队但尚未发送给客户端的头信息。 语法:response.getHeader(name)接收参数: name 响应头的类型,注意这个名字是不区分大小写。 例子:var contentType = res
2022-06-04

node.js中的http.response.addTrailers方法使用说明

方法说明: 该棒法用来将HTTP trailing响应头添加到消息尾部。 语法:response.addTrailers(headers)接收参数: headers 响应头信息 例子:response.writeHead(
2022-06-04

node.js中的fs.writeFile方法使用说明

方法说明: 以异步的方式将data写入文件,文件已存在的情况下,原内容将被替换。 语法:fs.writeFile(filename, data, [options], [callback(err)])由于该方法属于fs模块,使用前需要引入
2022-06-04

node.js中的fs.writeFileSync方法使用说明

方法说明: 同步版的fs.writeFile() 。 语法:fs.writeFileSync(filename, data, [options])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”)
2022-06-04

node.js中的console.error方法使用说明

方法说明: 该方法与 console.log() 相同,只是向标准错误流输出。 语法:console.error([data], [...])接收参数: console.log接受若干个参数,如果只有一个参数,则输出这个参数的字符串形式。
2022-06-04

node.js中的querystring.stringify方法使用说明

方法说明: 将对象转换成字符串,字符串里多个参数将用 ‘&' 分隔,将用 ‘=' 赋值。 这个函数的操作和 querystring.parse() 是相反的,具体可以看一下例子就了解了。 语法:querystring.stringify(o
2022-06-04

node.js中的events.emitter.listeners方法使用说明

方法说明: 注册了指定event的所有监听器将被作为数组返回。 语法:emitter.listeners(event)接收参数: event 指定事件 例子:server.on('connection', function (stre
2022-06-04

node.js中的path.normalize方法使用说明

方法说明: 输出规范格式的path字符串。 语法:path.normalize(p)由于该方法属于path模块,使用前需要引入path模块(var path= require(“path”) ) 例子:path.normalize('/fo
2022-06-04

编程热搜

目录