我是 Jade 模板的新手。这是 layout.jade:
html
head
meta(charset='UTF-8')
title MyApplication
meta(content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no', name='viewport')
link(href='/bootstrap/dist/css//bootstrap.min.css', rel='stylesheet', type='text/css')
body
block content
script(src='http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js')
script(src='/bootstrap/dist/js/bootstrap.min.js', type='text/javascript')
Run Code Online (Sandbox Code Playgroud)
如您所见,模板文件末尾有两个 javascript。我的另一个玉文件home.jade是:
extends layout
block content
// Content Header (Page header)
section.content-header
h1= title
// Main content
section.content
script(type='text/javascript').
$(function() {
alert('here!');
}
Run Code Online (Sandbox Code Playgroud)
与此文件相关的 javascript 位于文件末尾。不幸的是,块内容嵌入在 layout.jade 中,因此这里的脚本在 jQuery 之前加载。代码永远不会被调用。有没有办法解决这个问题,以确保这里的javascript是在jQuery之后加载的?谢谢
您可以在布局中定义更多块来填充。您甚至可以为块定义默认值:请参阅http://jade-lang.com/reference/extends/
layout.jade:
html
head
meta(charset='UTF-8')
title MyApplication
meta(content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no', name='viewport')
link(href='/bootstrap/dist/css//bootstrap.min.css', rel='stylesheet', type='text/css')
body
block content
script(src='http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js')
script(src='/bootstrap/dist/js/bootstrap.min.js', type='text/javascript')
block script
Run Code Online (Sandbox Code Playgroud)
家.玉:
extends layout
block content
// Content Header (Page header)
section.content-header
h1= title
// Main content
section.content
block script
script(type='text/javascript').
$(function() {
alert('here!');
}
Run Code Online (Sandbox Code Playgroud)
这将分别呈现您的内容、js 库和您的脚本。
在 layout.jade 中,缩进正文中的脚本标签。