2016-11-22 212 views
1

我有我服务与快递HTML文件的目录:如何在Express中别名一些路径?

var express = require('express'); 
var app = express(); 
var server = require('http').Server(app); 

server.listen(8080); 
// Serve /web subdirectory of this directory 
app.use(express.static(__dirname+"/web")); 

这允许任何人访问一个文件web/目录通过http://X.X.X.X:8080/file.html访问它。

但我也有别的地方的另一个目录。基本上我想服务../../some_directory作为http://X.X.X.X:8080/some_directory/包括它的任何子目录。

我该怎么办?有没有像app.use_as("file path", "URL path")这样的服务路径作为URL?

回答

0

您可以通过为app.usereference)的第一个参数使用路径:

app.use("/some_directory/", express.static(__dirname + "/../../some_directory/")); 

这将有助于文件../../some_directory/file目录http://host/some_directory/file下,包括子目录。

+0

我认为这真的应该工作,但我不断收到404错误。你确定它可以安全地结合'app.use(express.static(__ dirname +“/ web”));'?我需要访问这两个路径。 –

+0

是的,你应该能够安全地合并它们(如果没有文件匹配列出的第一个目录中的路径,它将继续并测试下一个目录)。我不知道什么可能是错的,但是你可能想仔细检查你使用的路径是否正确。 – Frxstrem

+0

我会做更多的检查。我不知道如何从Express中获得一些有用的错误输出。如果全部失败,我会做一个样本回购来说明它是如何工作的。 –