【问题标题】:Linking to a static file from within statics in Expressjs从 Expressjs 中的静态链接到静态文件
【发布时间】:2011-08-03 10:10:49
【问题描述】:

我有一个奇怪的问题,我似乎无法用 expressjs 解决。我为所有静态文件(如 js、css 和图像)指定了一个 public 文件夹。我使用app.use(express.static(__dirname + '/public')); 来指定文件夹。除了一种情况外,这非常有效。

在公用文件夹中,我有 3 个文件夹,分别名为 jscssimages。在我的一个 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; 可解决此问题。感谢您的帮助。

标签: node.js express


【解决方案1】:

您的 CSS 网址与 STYLESHEET 相关,因此您拥有的网址正在寻找路径 /css/images/bg.png 您希望网址为 ../images/bg.png

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 2017-06-23
    • 1970-01-01
    • 2013-04-06
    • 2021-10-20
    • 2015-05-06
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多