doctype html
html
    head
        title= title
        link(rel='stylesheet', href='/stylesheets/style.css')
        script(src="/javascripts/jquery-2.1.1.js")
        script(src="/javascripts/global.js")
    body
        block content


显然,src="/../public/javascripts/jquery-2.1.1.js"不起作用,但src="javascripts/jquery-2.1.1.js"起作用

文件结构如下:

nodetest
  public
    javascripts
      jquery-2.1.1.js
  views
    index.jade


除非Jade实际上在公用文件夹中创建index.html?它是否正确?

最佳答案

第一个翡翠实际上并没有将index.html保存到磁盘,而是在请求响应周期中即时生成了它。

第二,默认情况下,将express设置为将public/视为静态文件的根目录,因此您对/javascripts/jquery-2.1.1.js的引用指向public/javascripts/jquery-2.1.1.js

如果您尝试加载/views/index.jade/index.jade,则会显示404,因为Express无法找到任何匹配的静态文件

最后src="/javascripts/jquery-2.1.1.js"(即斜线)可能是您引用的方式,因为否则它将根据您的url查找子文件夹。 (例如,如果您在js/jquery.js页上有my.domain/parent/child.html,则请求将转到my.domain/parent/js/jquery.js

关于html - Jade如何处理src属性?为什么/javascripts直接进入文件夹而不是/../public/javascripts?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23739688/

10-11 15:04