为什么Express中的多级路由无法正常工作?

时间:2019-01-09 01:03:07

标签: node.js express router

我正在尝试使用express在node.js中进行简单的路由。长话短说:

app.use('/valut-servis', valut_servis);         //This works    
app.use('/valut/servis', valut_servis);         //This doesn't    

我希望它们以相同的方式起作用。它们确实导致相同的脚本,但是在该脚本中,当我使用 res.sendFile(__ dirname +'/whatever.html'); 来提供html文件时,该文件中的所有相对路径都会停止之所以可以正常工作,是因为它在其原始根文件夹中创建了一个名为“ valut”的新根。

我做错了什么,请帮忙。

1 个答案:

答案 0 :(得分:0)

它可以按预期工作,但是我看到这里的不便之处。当您将另一个/添加到基本文件的url中时,您的相对链接确实不起作用。

您可以

  1. 使用<base href="/valut-servis">标签使您的路径像绝对路径一样解析
  2. 将文件中的所有路径更改为绝对路径(实际上类似于1)
  3. 如果只是资产,是否也可以从子目录中提供这些资产(使用app.use('/valut', express.static('/your_assets_folder'))之类的东西)

让我知道其中是否有一项适合您,您最终选择了哪一项:)