使用Jade和Node动态添加CSS和JS文件

时间:2013-09-25 14:20:48

标签: javascript node.js express pug

我正处于一个场景,我将用Jade渲染一个包含以下代码的页面

var media_files = { js_files: [
    {type: "text/javascript", src:"/app/lib/jquery/jquery-1.10.2.min.js"}
    //..and it keeps adding
],
css_files: [
    {media:"all", src:"/app/public/css/style.css"}
    //..and it keeps adding
]
};
exports.index = function(req,res) {
    res.render('index', { title: 'Home', media_files: media_files }); //this will render the page
};

预期的结果是它会在标题中打印所有js和css文件,这就是我的玉的样子:

!!!5
html
  head
    title #{title} - My Site
    each key, file in media_files
      if(key == 'css_files')
        link(rel='stylesheet', src=file["src"], media=file["media"])

我的问题是没有媒体文件打印,有人可以给我一个解决方案吗? (我个人认为使用JSON更好,但我也不知道怎么做,关于这个的文档并不多)。

1 个答案:

答案 0 :(得分:1)

您没有正确访问这些属性。请尝试以下方法:

each key, files in media_files
  if(key == 'css_files')
    each file in files
      link(rel='stylesheet', href=file["src"], media=file["media"])

柏拉图是对的,请使用href代替src