节点服务器不提供静态文件

我已经使用express框架创build了一个nodejs应用程序。 我用express.static服务我的静态文件。

 app.use(express.static(path.join(__dirname, '..', 'public'))); 

有一个服务器login.html的路线。

 // serve login page app.get('/auth/login', loginPage); 

loginPagefunction

 loginPage(req: any, res: any) { res.sendFile(path.join(__dirname, '..', '..', 'public', 'login.html')); } 

现在,如果我直接点击http:// localhost:8080 / login.htmllogin页面获取其所有的CSS和JS文件,所以静态文件得到服务。

但是当我点击http:// localhost:8080 / auth / login时,只有login.html被提供,其他的css / js文件显示404状态。

如果我检查浏览器networking上的请求,窗口请求是http:// localhost:8080 / auth / css / bootstrap.min.css ,这是附加的auth前缀。

但是当我从/auth/login更改URL映射到/auth然后它工作正常。

我该如何解决这个问题?

我正在链接其他js和CSS文件,而不使用/href属性。 喜欢这个

 <link href="css/bootstrap.min.css" rel="stylesheet"> 

所以我改变了所有的href通过追加/

 <link href="/css/bootstrap.min.css" rel="stylesheet"> 

现在这是工作。 感谢@Patric