【发布时间】:2011-08-03 10:10:49
【问题描述】:
我有一个奇怪的问题,我似乎无法用 expressjs 解决。我为所有静态文件(如 js、css 和图像)指定了一个 public 文件夹。我使用app.use(express.static(__dirname + '/public')); 来指定文件夹。除了一种情况外,这非常有效。
在公用文件夹中,我有 3 个文件夹,分别名为 js、css 和 images。在我的一个 css 文件中,我正在执行 background-image: url(/images/bg.png) no-repeat;,但此 url 未解析且图像未显示在页面上。
但是,如果我在其中一个视图中执行img(src='/images/bg.png') 之类的操作,图像就会显示。我假设这与我从静态文件链接并且 node/express 忽略静态文件中的所有路由(?)这一事实有关。
如何链接到位于 express 静态文件夹中的 css 文件中的图像?
【问题讨论】:
-
如果你只是去
127.0.0.1:yourport/images/bg.png会发生什么? -
查看 css 正在查看的真实路径,或者关闭 css 编译器。
-
@generalhenry 图片显示在此 URL。
-
@Raynos css查看的路径是localhost:3000/images/bg.png
-
伙计们,我犯了愚蠢的错误。问题在于 css 中的 no-repeat 语句。将其更改为
background: #fff url(/images/bg.png) no-repeat;可解决此问题。感谢您的帮助。