我有一个带有Jade模板的Node / Express应用程序,可以导入一些静态文件。我的玉模板的显着部分如下所示:
layout.jade:
head
link(rel="stylesheet" href="/css/main.css)
script(src="/vendor/jquery.js")
block body
h1 Hello world.
mypage.jade:
extend layout
block body append
p Here another line.
在快递中,我正在传达我的观点:
app.get('/', function(req,res) {
res.render('index')
}
app.get('/mypage/', function(req,res) {
res.render('mypage')
}
html for mypage.html现在有我的css和javascript路径:
/mypage/css/main.css
/mypage/vendor/jquery.js
如何让express / Jade正确导入标题中的静态文件,即。没有为路径添加路径前缀?
答案 0 :(得分:4)
如果你没有改变任何东西,我相信你还有
app.use(express.static(path.join(__dirname, 'public')));
所以如果你保存像
这样的文件/public/css/main.css
它按预期工作
或者如果你想使用/mypage/css/
,请在
/public/mypage/css/main.css
并将其命名为
link(href="/maypage/css/style.css", rel="stylesheet")
静态文件的根始终是“公开的”所以你需要它的路径,例如/mypage/css/
,即使它是/mypage/