使用 Harp,你可以获取到你的编译文件的信息,除了源代码文件的元数据。
你有可能想要在你的应用中遍历编译好的数据以及媒体数据,他们有可能含也有可能不含元数据。_contents 对象提供了一个做这件事情的方法。
也许你有一个全部是图片的目录,并且希望展示它们全部,你不需要为每一张图片维持一个特别的元数据。
myproject/ ├ index.jade └ images/ ├ hello-world.jpg <-- hello world image ├ hello-saturn.jpg <-- hello saturn image └ hello-jupiter.jpg <-- hello jupiter image
现在,在 index.ejs
文件中,你可以遍历 _contents
变量,引用每一个文件。
<% for(var i in public.images._contents){ %> <% var image = public.images._contents[i] %> <% if ( image.match(/\b.(jpg|bmp|jpeg|gif|png|tif)\b/gi) ) { %> <div> <img src="/project/harp-doc/images/<%= image %>" /> </div> <% } %> <% } %>结果是如下的 HTML:
<img src="/project/harp-doc/images/hello-world.jpg" /> <img src="/project/harp-doc/images/hello-saturn.jpg" /> <img src="/project/harp-doc/images/hello-jupiter.jpg" />使用 Jade
现在,在 index.jade
文件中,你可以遍历 _contents 变量,引用每个文件。
for image in public.images._contents img(src="/project/harp-doc/images/#{ image }")结果是下面的 HTML:
<img src="/project/harp-doc/images/hello-world.jpg" /> <img src="/project/harp-doc/images/hello-saturn.jpg" /> <img src="/project/harp-doc/images/hello-jupiter.jpg" />