节点服务器不提供静态文件
我已经使用express框架创build了一个nodejs应用程序。 我用express.static
服务我的静态文件。
app.use(express.static(path.join(__dirname, '..', 'public')));
有一个服务器login.html的路线。
// serve login page app.get('/auth/login', loginPage);
和loginPage
function
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