【问题标题】:Add CSS And JS files dynamically with Jade and Node使用 Jade 和 Node 动态添加 CSS 和 JS 文件
【发布时间】:2013-09-25 14:20:47
【问题描述】:

我在一个场景中,我将使用 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文件在header中,这就是我的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 更好,但我也不知道怎么做,这方面的文档不多)。

【问题讨论】:

  • 首先将链接语法从 src 更正为 href:<link rel='stylesheet' href='/style.css'> 〜并仔细检查它是否没有使用 f12 调试器或其他东西打印到源中。〜编辑:@amberlamps 是对的,你是只遍历键 js_files, css_files 而不是遍历 files 数组对象

标签: javascript node.js express pug


【解决方案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

【讨论】:

  • 我已经改成href了,还是不行,each key, files in media_files if(key == 'css_files') each file in files link(rel='stylesheet', href=file["href"], media=file["media"])
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 2011-04-22
相关资源
最近更新 更多