nodejs 怎么获取项目的根目录路径?
发布于 7 年前 作者 napster99 17131 次浏览 来自 问答

nodejs 怎么获取项目的根目录路径?

11 回复

看你如何理解项目的根目录,如果你认为是package.json所在的目录,那么就一路向上找,判断是否存在package.json

你遇到什么问题,使你想找到项目的根目录?

@stonephp 我想在根目录下创建一个文件夹,看样子还要手动编码实现了?这样的话 如果极端点,根目录没有package.json要怎么搞?

__dirname 可以找到现在执行的文件的位置,这方面倒是没怎么弄过,根据这个变量回给的路径基础上回退?

@scarletmu 实在不行,也只能这样的思路了,能不能有更好的方法

@napster99 你的根目录没有任何特征那就找不到呀。

是说的process.cwd()这个不。

我觉得,弄个配置文件项来说明这个事儿,配置文件位置相对固定,结合__dirname

只能手动编码实现了

function getRootDir() {
  let rootDir = curDir;
  return co(function *() {
    while(true) {
      if(yield isExitFile(rootDir, 'package.json')) {
        break;
      }
      rootDir = path.join(rootDir, up);
    }
    return rootDir;
  })
  
}

process.cwd()

有个包叫app-root-path,用了很多年了。

我使用了一个全局变量 __home

回到顶部