最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node.js中的fs.realpathSync方法使用說(shuō)明

 更新時(shí)間:2014年12月16日 09:26:30   投稿:junjie  
這篇文章主要介紹了node.js中的fs.realpathSync方法使用說(shuō)明,本文介紹了fs.realpathSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下

方法說(shuō)明:

同步版的 fs.realpath() 。

語(yǔ)法:

復(fù)制代碼 代碼如下:

fs.realpathSync(path, [cache])

由于該方法屬于fs模塊,使用前需要引入fs模塊(var fs= require(“fs”) )

接收參數(shù):

path                             路徑

cache                           可選,一個(gè)文字的映射路徑可用于強(qiáng)制一個(gè)特定的路徑解決或避免額外的fs.stat需要知道真正的路徑對(duì)象。

例子:

復(fù)制代碼 代碼如下:

var fs = require('fs');
 
// 點(diǎn)號(hào)表示當(dāng)前文件所在路徑
var str = fs.realpathSync('.');
console.log(str);

源碼:

復(fù)制代碼 代碼如下:

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;
};

相關(guān)文章

  • node.js中的fs.read方法使用說(shuō)明

    node.js中的fs.read方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.read方法使用說(shuō)明,本文介紹了fs.read方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 前端+nodejs+mysql實(shí)現(xiàn)前后端聯(lián)通的完整代碼

    前端+nodejs+mysql實(shí)現(xiàn)前后端聯(lián)通的完整代碼

    Node.js主要屬于后端技術(shù),但也可以用于前端開(kāi)發(fā)的某些場(chǎng)景,下面這篇文章主要介紹了前端+nodejs+mysql實(shí)現(xiàn)前后端聯(lián)通的完整代碼,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • 淺談node.js 命令行工具(cli)

    淺談node.js 命令行工具(cli)

    nodejs開(kāi)發(fā)命令行工具,流程相對(duì)簡(jiǎn)單,但一套完整的命令行程序開(kāi)發(fā)流程下來(lái),還是需要下點(diǎn)功夫,這篇文章主要介紹了淺談node.js 命令行工具(cli),感興趣的小伙伴們可以參考一下
    2018-05-05
  • 三行命令切換Node.js版本的流程步驟

    三行命令切換Node.js版本的流程步驟

    如何在Windows上更新Node.js版本呢?有沒(méi)有那種不需要重新安裝軟件再修改配置文件和環(huán)境變量的方法?你是否還在為可能要重新安裝Node然后配置文件修改環(huán)境變量困擾?面就來(lái)介紹一下nvm更換node版本的步驟,需要的朋友可以參考下
    2024-01-01
  • NodeJS如何優(yōu)雅的實(shí)現(xiàn)Sleep休眠

    NodeJS如何優(yōu)雅的實(shí)現(xiàn)Sleep休眠

    這篇文章主要介紹了NodeJS如何優(yōu)雅的實(shí)現(xiàn)Sleep休眠問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Nodejs中Express 常用中間件 body-parser 實(shí)現(xiàn)解析

    Nodejs中Express 常用中間件 body-parser 實(shí)現(xiàn)解析

    這篇文章主要介紹了Nodejs中Express 常用中間件 body-parser 實(shí)現(xiàn)解析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • NodeJs環(huán)境安裝與配置的實(shí)現(xiàn)步驟

    NodeJs環(huán)境安裝與配置的實(shí)現(xiàn)步驟

    本文主要介紹了NodeJs環(huán)境安裝與配置,包括配置環(huán)境和配置國(guó)內(nèi)鏡像,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • 了不起的node.js讀書(shū)筆記之例程分析

    了不起的node.js讀書(shū)筆記之例程分析

    這篇文章主要介紹了了不起的node.js讀書(shū)筆記之例程分析,需要的朋友可以參考下
    2014-12-12
  • node.js中的emitter.on方法使用說(shuō)明

    node.js中的emitter.on方法使用說(shuō)明

    這篇文章主要介紹了node.js中的emitter.on方法使用說(shuō)明,本文介紹了emitter.on的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • nodejs中內(nèi)置模塊fs,path常見(jiàn)的用法說(shuō)明

    nodejs中內(nèi)置模塊fs,path常見(jiàn)的用法說(shuō)明

    這篇文章主要介紹了nodejs中內(nèi)置模塊fs,path常見(jiàn)的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11

最新評(píng)論

关岭| 长宁县| 明光市| 丹凤县| 望奎县| 镇沅| 石狮市| 甘南县| 揭东县| 扶风县| 阆中市| 赤峰市| 六安市| 特克斯县| 两当县| 容城县| 同江市| 哈巴河县| 古浪县| 嘉禾县| 南昌市| 淮阳县| 西平县| 津南区| 长沙县| 土默特左旗| 德州市| 武定县| 平潭县| 三台县| 信丰县| 沐川县| 金昌市| 巫溪县| 南江县| 临颍县| 金寨县| 沅陵县| 枣庄市| 哈尔滨市| 中宁县|