Nodejs - 路径遍历上下目录

时间:2017-08-14 11:45:43

标签: node.js path

我正在尝试使用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'

2 个答案:

答案 0 :(得分:0)

您可以使用

获取当前工作目录
  

process.env.PWD

然后使用

向上移动
  

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

答案 1 :(得分:0)

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

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

应改为:

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

记下逗号而不是+