咕哝。包含子 (_*.jade) 时编译所有 .jade 文件
Posted
技术标签:
【中文标题】咕哝。包含子 (_*.jade) 时编译所有 .jade 文件【英文标题】:Grunt. Compile all .jade files when child (_*.jade) included 【发布时间】:2016-08-31 18:46:09 【问题描述】:我有下一个结构:
jade
├── _skeleton.jade
├── _header.jade
├── _footer.jade
|
├── includes
│ └── _include-on-index.jade
│ └── _include-on-page-1.jade
│ └── _include-on-all-pages.jade
|
├── pages
│ └── index.jade
│ └── page-1.jade
│ └── page-2.jade
│ └── page-3.jade
我需要像一些应用程序一样设置jade compile(例如Prepros)。
这意味着如果我编辑page-3.jade我只需要编译page-3.jade,如果我编辑以_.jade开头的文件,我不需要编译这个_.jade 文件类似于 html,但我需要编译所有包含这个 _*.jade 文件的 .jade 文件
例如,当我编辑文件 _header.jade 时,我需要编译所有包含 _header.jade 的文件,如果我编辑 _include-on-index.jade 我需要编译不包含 _ 的文件,其中包含 _include-on-index.jade
我可以用 Grunt 做到这一点吗?
【问题讨论】:
【参考方案1】:您可以使用 grunt-contrib-jade 和 grunt-contrib-watch 并为此玉文件插入一个手表。
假设您每次更改 .jade 文件时,手表都会看到此更改并编译您的文件。
假设我有这棵树:
玉/模板 我所有的 .jade 文件
jade/编译模板 包含我为 .html 编译的所有翡翠模板
jade 的配置:
//Jade ===============================
config.jade =
compile:
options:
client: false,
pretty: true
,
files: [
cwd: "jade/templates",
src: "**/*.jade",
dest: "jade/compiled-templates",
expand: true,
ext: ".html"
]
手表配置:
//Watch ===============================
config.watch =
scripts:
files: ["jade/**/*.jade"]
,tasks: ["dev"]
我希望这能回答你的问题。
【讨论】:
感谢您的帮助!我尝试了这段代码,但是,当我只编辑一个文件时,它会编译所有文件。还有一个问题:它编译文件,以 _.jade 作为单个 html 开头。这是我的代码:codepen.io/anon/pen/zqexjK?editors=0010 Raduken,你能帮帮我吗? 我做个测试看看。 我做了一些测试,但我无法解决您的问题,看起来该任务已被弃用我建议您尝试寻找另一个,关于另一个问题,我建议您为您的 _.jade 使用玉包含:jade-lang.com/reference/includes,希望对你有所帮助。以上是关于咕哝。包含子 (_*.jade) 时编译所有 .jade 文件的主要内容,如果未能解决你的问题,请参考以下文章