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

Javascript 使用Jade和Node动态添加CSS和JS文件,javascript,node.js,express,pug,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

我将使用以下代码呈现一个带有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文件,这是my jade的外观:

!!!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更好,但我也不知道怎么做,关于这方面的文档不多)。

您没有正确访问属性。请尝试以下操作:

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

首先将链接语法从src更正为href:
~并再次检查是否使用f12调试器或其他工具将其打印到源代码中。~edit:@amberlamps是对的,您只需迭代键
js\u文件,css_文件
且未遍历
文件
数组对象已更改为href,仍不工作,
每个键,媒体中的文件_文件,如果(key='css_文件')文件中的每个文件链接(rel='stylesheet',href=file[“href”],media=file[“media”])