【问题标题】:Nodejs - Path Traverse Up and Down DirectoryNodejs - 路径遍历上下目录
【发布时间】:2017-08-14 11:45:42
【问题描述】:

我正在尝试使用path 模块从我当前的位置文件位置向上遍历到另一个文件夹,其中有一个我正在尝试加载的文件。尽管努力使用path.join(),第一个值是当前文件位置__dirname,第二个使用目录更改,../../config/*file* 我看到任何文件遍历。我在方法中看到了第二个条件的附加,而不是我添加的每个级别../。有没有更好的方法来遍历目录,有人知道我当前的设置可能有什么问题吗?

目录布局

/root
  /app
    /controllers
      /app
        /activity-feed (Current Directory)
          feed.js (Route logic)
  /config
    pk-*unique-id*.pem (File trying to be loaded)

/app/config 是同一层,它们是项目根目录下的第一个文件夹

这是我尝试向上然后向下遍历到此文件的尝试:

var cfPK = path.join(__dirname + "../../../config/pk-*unique-id*.pem");

这是错误:

Error: ENOENT: no such file or directory, open '/Users/user/Desktop/Projects/node/my-app/app/controllers/app/activity-feed../config/pk-*unique-id*.pem'

【问题讨论】:

  • 如果你想隐藏你的 PEM ID,我想你把它留在了你的代码 sn-ps 中
  • @timothyclifford 它不活跃,但很好。已编辑并建议对以下答案进行编辑。
  • 是的,已批准并 +1 :) 我的回答是否解决了您的问题或仍有问题?

标签: node.js path


【解决方案1】:

您正在调用 path.join 并连接路径而不是加入:

var cfPK = path.join(__dirname + "../../../config/pk-*unique-id*.pem");

应该是:

var cfPK = path.join(__dirname, "../../../config/pk-*unique-id*.pem");

注意逗号而不是+

【讨论】:

    【解决方案2】:

    您可以使用

    获取当前的工作目录

    process.env.PWD

    然后使用

    向上移动

    path.join(process.env.PWD, /..);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 2019-09-30
      • 2011-05-11
      • 2017-11-12
      • 1970-01-01
      • 2016-07-24
      相关资源
      最近更新 更多