Node.js静态文件夹引用没有加载CSS

时间:2017-04-22 11:21:34

标签: javascript html css node.js

我目前正在使用Node.js开发一个网站。 我只是设置了我的404页面,当我转到mywebsite.com/404或其他不存在的页面时,它可以正常工作,但如果我尝试访问类似mywebsite.com/foo/bar的内容,它也不会如果存在,则CSSJS等资源不会加载。在服务器上,我正在使用:

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

而且,在页面上:

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

我知道在HTML上的资产前添加../会有效,但这并不理想。有什么帮助吗?

我的文件夹结构如下:

Project Folder
|-App.js
|-views
  |-404.ejs
  |-home.ejs
|-public
  |-CSS
    |-Bootstrap.min.css
  |-js
  |-img
  |-font

1 个答案:

答案 0 :(得分:0)

在404页面(或每个页面!)上使用base元素,它将始终使用您指定的基本路径请求您的资源。

例如,添加<base href="http://example.com" /&gt;在您的</head>代码请求http://example.com作为路径的每个资产之前,在您的情况下,而不是/foo/bar/assets/css/bootstrap.min.css,它会请求/assets/css/bootstrap.min.css