如果我使用 process.cwd() 节点文件读取到默认路径

Node file read to default path if i use process.cwd()

我已经在 ubuntu 服务器上部署了节点应用程序。 但是有一个问题,当代码执行读取文件

fs.readFileSync(process.cwd()+"views/....");

它尝试从 "home/ubuntu/views/...." 读取文件 但我的文件不在那里应该是这样的:"var/www/mysite/views/..."

请告诉我问题出在哪里,我该如何解决

谢谢 阿舒

process.cwd()returns 您的 工作目录 。您可能正在您的主目录中启动您的应用程序。看到这个 API doc about it

你可以:

  • 集成类似 config.json 文件的内容,其中包含您的视图的完整参考位置路径。您可以 require() 这个 json 文件并使用您的 fs.readFileSync 的位置,例如: const config = require('./config.json'); fs.readFileSync(config.viewLocation + "/nameOfYourView.jade");

  • 将您的视图移动到另一个目录(即,快速应用程序将应用程序视图存储在应用程序文件夹中名为 "views" 的文件夹中)(我会推荐这个)

  • 将 "hard wired" 中的 fs.readFileSync 路径添加到您的视图中,如果它们始终位于此位置并且您 运行 您的应用仅在此服务器上