2

我没有使用任何模板引擎。我想将所有内容重定向到我的静态文件 /public/desktop.html

app.use(express.static(__dirname + '/public'));

function route(req, res, next) {
    res.sendfile(__dirname + '/public/desktop.html');
    myURL = url.parse(req.url).pathname;
}

如果我使用它并访问 url 上的 'localhost:8080/anypath 效果很好

但是如果我尝试 'localhost:8080/' 我什么也得不到:

app.get('*', route); 

如果我使用其中任何一个,我将无法访问任何内容:

app.get('/', route);
app.get('/*', route); 
4

1 回答 1

6

app.use(express.static(__dirname + '/public')) 正在安装一个静态文件处理程序,它将“/”转换为“/index.html”并发送 404,因为它找不到 index.html

如果您更改顺序:

function route(req, res, next) {
  if(req.url!='/'){
    return next();
  }
  res.sendfile(__dirname + '/public/desktop.html');
}

app.get('/', route);
app.use(express.static(__dirname + '/public'));

它可能有用吗?

于 2014-03-31T22:43:47.847 回答