express中CSS等静态资源取不到
发布于 7 年前 作者 HuKaihe 8198 次浏览 来自 问答

我使用express自动生成工具生成文件结构,然后把CSS文件放在了stylesheets目录下,在views里面放了HTML文件。 我知道默认状态下,在app.js中对静态资源进行了托管,所以我这HTML中引入CSS时,只需要这么写就可以了: <link href=“stylesheets/XXX.css” rel=‘stylesheet’> 但是,我不想写成这样,我想像java ee那样,写成成服务器上的绝对路径,我把app.js里express.static那里删掉,然后把href写成下面这样 <link href="/public/stylesheets/XXX.css" rel=‘stylesheet’> 却始终访问不到,请问大神我该怎么办?急急急

5 回复

如果app.js里面没有static配置的话,访问这个路径需要配置路由的(router),你可以试试path

url rewrite一下就好了,为啥这么麻烦呢

@i5ting 没太看懂您说的,请问我在HTML页面引入CSS时应该具体怎么写呢?

var express = require('express');
var app = express();

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

需要设置静态文件托管,而且如果加目录的话也是像static这样,是虚拟目录。 通过/static/css/style.css来访问。 具体的更多的内容建议去看下express的静态资源托管。

@zhaoqize 我这样设置了/static/bootstrap/dist/css/bootstrap.min.css js和css文件都不能访问,但是html文件却能通过 /static/a.html 访问到,请问你知道是什么原因导致的吗?

回到顶部