【发布时间】:2014-03-05 10:00:13
【问题描述】:
我正在使用 NodeJS 构建一个 Web 应用程序,并且我正在单独的模块中实现我的 API 路由。在我的一条路线中,我正在进行一些文件操作,我需要知道基本应用程序路径。如果我使用__dirname,它当然会给我包含我的模块的目录。
我目前正在使用它来获取基本应用程序路径(假设我知道从基本路径到模块的相对路径):
path.join(__dirname, "../../", myfilename)
有没有比使用../../ 更好的方法?我在 Windows 下运行 Node,所以没有 process.env.PWD 并且我不想成为特定于平台的。
【问题讨论】:
-
在多个模块中多次/多次使用上面的行是重复且不一致的。在这种情况下,在 static 类(例如
Paths.getBasePath();)中创建 static 函数可能很有用。当您的项目结构发生变化时,您只需要更新上述函数中的相对路径。通过这样的方法,您可以在任何地方使用require('./Paths').getBasePath();,而无需再次使用../../。