除了process.cwd()之外,是否有其他方法来获取当前项目根目录的路径名。Node是否实现了ruby的属性Rails.root之类的东西。我要找的是稳定可靠的东西。


当前回答

这样做:

path.join(...process.argv[1].split(/\/|\\/).slice(0, -1))

其他回答

所有这些“根dirs”大多需要解析一些虚拟路径到一个真实的堆路径,所以可能你应该看看path.resolve?

var path= require('path');
var filePath = path.resolve('our/virtual/path.ext');

实际上,我发现也许微不足道的解决方案也是最健壮的: 你只需将以下文件放在你项目的根目录:root-path.js,它有以下代码:

import * as path from 'path'
const projectRootPath = path.resolve(__dirname)
export const rootPath = projectRootPath

这对我很有用

process.env.PWD

如果你想从一个正在运行的node.js应用程序中确定项目根,你也可以简单地这样做。

process.mainModule.path

你也可以使用 Git rev-parse——show- topllevel 假设您正在使用git存储库