【问题标题】:How do I ensure a local directory with fs.readdir()如何使用 fs.readdir() 确保本地目录
【发布时间】:2014-07-29 19:37:49
【问题描述】:

所以我有一个快速服务器,它根据 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 新贵将它作为永久服务运行时 exec forever start /home/*****/transfer/app.js 我得到这个回应

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

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

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

【问题讨论】:

    标签: node.js directory fs


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      • 1970-01-01
      • 2014-01-05
      • 2015-10-25
      • 1970-01-01
      相关资源
      最近更新 更多