node.js - 如何处理 node.js/express 中的相对路径?

标签 node.js express lighttpd

我用 node.js 和 express 编写了一个网站。现在我将 lighttpd 配置为使用带有子目录的 node.js 服务器:

$HTTP["url"] =~ "^/app/" {
  proxy.server  = ( "" => ( (
                              "host" => "127.0.0.1",
                              "port" => 3000
                            ) )
                  )
}

当我打开 http://localhost/app/ 时出现错误 404,因为我写了如下内容:

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

有没有更好的方法来修改这些行,例如:

var relPath = '/app';

app.get(relPath + '/', function (req, res){
  res.render('index');
});

?

最佳答案

正如 Ryan 评论的那样,解决方案是:

app.use('/app', app.router);

如果您使用例如express.static 或 express.favicon 你必须告诉 app.use 路径:

app.use('/app', express.favicon(__dirname + '/public/images/favicon.ico'));
app.use('/app', express.static(__dirname + '/public'));

请记住在您在 html 中设置的每个内部链接之前写上“/app”。

关于node.js - 如何处理 node.js/express 中的相对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11379482/

相关文章:

php - 如何提高PHP性能?

javascript - onsubmit 中断 Jade View

node.js - 从 AWS SNS 获得成功响应但未发送 SMS

node.js - 如何将静态文件动态服务?

express - Angular2.0 路由器适用于组件而不是模块?

javascript - ExpressJS 到本地服务器没有 'Access-Control-Allow-Origin' header

php - 如何在lighttpd服务器中同时运行多个php版本?

c++ - 不可预测的文件描述符泄漏

node.js - find() 方法可能超时 - mongoDb

node.js - 无法在Windows 10上设置Electron + Reactjs + sqlite