如何使用fs.readdir()确保本地目录

时间:2014-07-29 08:53:41

标签: node.js directory fs

所以我有一个快速服务器,在GET请求时返回一个json文件。

app.get('/server-generated/pages.json',function(req, res) {
  fs.readdir('public/pages',function(err,data){
    res.json(data || err);//temp error checking
  });
});

当我在其目录中运行节点应用程序或永远的应用程序但是当我在启动时从Ubuntu upstart运行它作为永久服务时,它工作得很好 exec forever start /home/*****/transfer/app.js 我得到了回应

{
  "errno": 34,
  "code": "ENOENT",
  "path": "public/pages"
}

如果我对,那是目录错误?完整的文件夹层次结构如下/ home / **** / transfer / public / pages

我如何编写可在本地运行应用程序或从新手开始的任何计算机(windows / ubuntu)上运行的目录?

1 个答案:

答案 0 :(得分:0)

您应该使用相对于模块所在目录的路径:

var path = require('path');

fs.readdir(path.join(__dirname, 'public/pages'), function(err, data) {
    res.json(data || err);
});