【发布时间】:2014-04-18 14:48:22
【问题描述】:
情况如下:我想在我的 Web 应用中使用图像,在我的 Stylus 文件 (style.styl) 中,我可以使用以下代码来设置图像:
.background
background: url(http://path/to/image)
但是,是否可以将图像保存到我的本地应用目录中,并在目录中使用它?
我的目录结构如下:
app.js
package.json
public
css
style.styl
js
images
image.png
views
routes
我想使用 style.styl 文件中的图像,然后当有人访问我应用中的特定路由时,它会在我的应用中解析和使用。
但是,下面的代码根本不起作用:
.background
background: url(../images/image.png)
以下代码也不起作用
.background
background: url(./public/images/image.png)
那么,如何在本地目录中的应用中使用图像?
我收到了this page,但我根本无法理解那里的所有内容。特别是,我应该在页面的哪里写代码?看起来它不是用style.styl 编写的,据我所知,它只是一个手写笔文件,而不是 JavaScript 文件。另外,回调函数中应该写什么?
当我在app.js 中编写上述代码时,我得到了一个错误:str is not defined,因为stylus(str) 暗示我定义了一个str 对象,而我没有。所以我完全不确定它的作用......
我在./public/css/ 目录中使用我的Stylus 文件,并在我的app.js 中写入app.use(require("stylus").middleware(path.join(__dirname, "public")));。另外,我使用 Express 3.5.1。
【问题讨论】:
-
路径中缺少“s”。它应该说“images/”而不是“image/image.png”。希望这不会花费您太多时间。我讨厌这样的错误。
-
糟糕。固定的。但由于某些原因它仍然不起作用......
-
啊,好的,现在开始工作了。
url(./public/images/image.png)不起作用,而url(../images/image.png)起作用。谢谢。 -
是的,我认为公用文件夹是根目录,所以由于公用文件夹中没有公用文件夹,所以这是有道理的。查看您的 app.js 中设置公共目录的 app.use。所以
url(/images/image.png)应该可以工作。
标签: javascript node.js express stylus