【问题标题】:Node is not serving static directory节点不提供静态目录
【发布时间】:2016-01-04 17:49:21
【问题描述】:

当目录添加到我的应用程序的 URL 时,我正在尝试显示图像目录。给定:

var serveindex = require('serve-index')
  , PORT = 8888;

两者都没有:

var userUploadedImages = __dirname + '/userUploadedImages';
app.use(userUploadedImages, serveindex('/userUploadedImages'));

也不:

var userUploadedImages = 'http://localhost:' + PORT + '/userUploadedImages'; //this would for sure be more likely to work, but i tried both
app.use(userUploadedImages, serveindex('/userUploadedImages'));

工作。我没有显示的图像目录,只是我的索引,如果我在根目录下会呈现:

app.get('/', function(req, res){
    res.send('index.html');
});

我正在使用角度路线,但没有为userUploadedImages 设置路线。我在浏览器或运行我的服务器的终端中没有收到任何控制台错误。

【问题讨论】:

  • 尝试使用魔法:path=require('path'); var userUploadedImages = path.resolve(__dirname , '/userUploadedImages')
  • userUploadedImages 应该是本地路径,而不是 URL。当您使用 console.log 时,第一个示例 userUploadedImages 输出什么?这是你期望的路径吗?请注意,__dirname 在脚本所在的目录中执行。
  • 你在使用express吗? serve-index 是什么?
  • @MinusFour 是的,我正在使用快递。 serve-index 是您现在在 express 中使用这种中间件的方式,因为它不再包含在主安装中。
  • 那么你的第一个例子应该可以工作,除了参数是错误的。 app.use 的第一个参数应该是/userUploadedImages,而serve-index 的参数应该是userUploadedImages 变量。

标签: javascript angularjs node.js localhost


【解决方案1】:

Express app.use 将 URI 路径作为第一个参数,在该 URI 路径下提供列表,serve-index path 采用目录路径,他们将在其中执行列表。

因此,在本例中,它将提供与 URL 路径 /userUploadedImages 下的脚本文件位于同一目录中的 userUploadedImages 目录:

var userUploadedImages = __dirname + '/userUploadedImages';
app.use('/userUploadedImages', serveindex(userUploadedImages));

因此,如果您访问/userUploadedImages 下的服务器,您应该会看到您的userUploadedImages 目录的列表。

【讨论】:

    猜你喜欢
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多