【问题标题】:Is it feasible to use a local image in Stylus and Node.js and Express?在 Stylus 和 Node.js 和 Express 中使用本地图像是否可行?
【发布时间】: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


【解决方案1】:

这可能会有所帮助(来自http://help.adobe.com/en_US/dreamweaver/cs/using/WScbb6b82af5544594822510a94ae8d65-7c44a.html - 请不要使用dreamweaver):

链接路径分为三种:

Absolute paths (such as http://www.adobe.com/support/dreamweaver/contents.html).

Document-relative paths (such as dreamweaver/contents.html).

Site root–relative paths (such as /support/dreamweaver/contents.html). 

在 express.js 应用程序中,公共文件夹充当站点根目录。

【讨论】:

  • 谢谢。您能否对我原始帖子的最后三段提出任何见解,特别是我应该在哪里编写链接页面的代码及其作用,以及str 变量是什么......?
  • 手写笔非常棒,我不是专家,但我已经习惯了。我可以为你分解。您介意创建一个新问题吗?以防万一其他人希望了解有关手写笔的相同基本内容,例如将文件放在哪里,手写笔自动为您做什么以及它不做什么等等......
  • 谢谢。我刚刚发布了问题here
猜你喜欢
  • 1970-01-01
  • 2015-06-29
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
  • 2014-11-26
  • 1970-01-01
  • 2019-11-09
相关资源
最近更新 更多