我有这个玉文件:
!!! 5
html
head
title test include
style(type='text/css')
//- DOES NOT WORK!
include test.css
body
//- works
include test.css
div
//- works
include test.css
输出:
$ jade -P test.jade
rendered test.html
$ cat test.html
<!DOCTYPE html>
<html>
<head>
<title>test include</title>
<style type="text/css">
//- DOES NOT WORK!
include test.css
</style>
</head>
<body>body { color: peachpuff; }
<div> body { color: peachpuff; }
</div>
</body>
</html>
当然,我可以直接链接css文件,但我不想。
答案 0 :(得分:13)
我还没有测试它(不是在我的开发计算机ATM上)但是有可能做这样的事情可以工作:
!!!
head
title test include
| <style type='text/css'>
include test.css
| </style>
顺便说一下,我找到了HTML2Jade在线转换器,但没有找到Jade2HTML。知道在哪里找到它吗?
答案 1 :(得分:9)
来自jade docs:
doctype html
html
head
style
include style.css
body
h1 My Site
p Welcome to my super lame site.
它完美无缺。
答案 2 :(得分:2)
将fs
作为数据传递,您可以
style !{fs.readFileSync("index.css").toString()}
答案 3 :(得分:2)
Arnaud的回答对我有用,但我发现这有点干净了:
doctype
head
title test include
style(type="text/css"): include test.css
(type="text/css")
也是可选的,具体取决于您的具体情况。
答案 4 :(得分:0)
在当前版本的Jade(0.35.0)中,只需编写 include style.css
即可。
完整示例(考虑到您正在编写index.jade,它位于views
文件夹中,而您的样式位于assets
文件夹中):
!!!
html
head
include ../assets/bootstrap3/css/bootstrap-theme.css
include ../assets/bootstrap3/css/bootstrap.css
body
h1 Hi!
请注意模板中没有style
标记,它会自动由jade插入(这是一个不错的功能!)。
答案 5 :(得分:0)
style(type="text/css").
#{css}
用pug.render(..., { css: yourCssString })
答案 6 :(得分:-1)
可能的解决方案是:
style(type="text/css")
#{css}
然后在res.render(...)
调用中传递css文本。