Templates Jade模板作为html的预处理器

Templates Jade模板作为html的预处理器,templates,node.js,makefile,pug,Templates,Node.js,Makefile,Pug,我不会在生产中使用,但我喜欢s语法,所以我希望在开发时将模板编译成html 鉴于此文件结构: app/ jade_templates / index.jade subfolder / subpage.jade html_templates / index.html subfolder / subpage.html 我希望有一个脚本,可以随时监视jade_模板目录,并将相应的html模板编译为html_模板 如何做到这一点 多谢各位

我不会在生产中使用,但我喜欢s语法,所以我希望在开发时将模板编译成
html

鉴于此文件结构:

app/
  jade_templates /
    index.jade
    subfolder /
      subpage.jade
  html_templates /
    index.html
    subfolder /
      subpage.html
我希望有一个脚本,可以随时监视
jade_模板
目录,并将相应的html模板编译为
html_模板

如何做到这一点

多谢各位

编辑 Jade有这个示例Makefile,但我不确定如何使其适应我的需要

JADE = $(shell find pages/*.jade)
HTML = $(JADE:.jade=.html)

all: $(HTML)

%.html: %.jade
    jade < $< --path $< > $@

clean:
    rm -f $(HTML)

.PHONY: clean
JADE=$(shell查找页面/*.JADE)
HTML=$(JADE:.JADE=.HTML)
全部:$(HTML)
%.html:%.jade
jade<$<--path$<>$@
清洁:
rm-f$(HTML)
.假冒:干净

我建议您编写一个小型节点应用程序来实现这一点

代码如下所示:

// Watch a directory for files changes (such as here: https://github.com/Raynos/fyp/blob/master/src/build.js)
// Get the Jade code from the changed file
// Compile it
// Writes the output to a file with the same name in another directory

我说了“node app”,但它应该是你喜欢的任何东西。

因为我需要一个类似的脚本,所以我花了时间尝试了一些工具和shell脚本(比如),但没有找到任何令人满意的

所以我继续实施这个解决方案。您可以在github上找到它:

看看它是否适合你。我还为jade添加了一个示例

干杯

我用这个。使用和,您可以相当轻松地设置一个grunt任务来监视一个目录中的jade文件,并在文件发生更改时将其编译到另一个目录中

Grunt有一点学习曲线,但它非常方便,让我可以随时用Jade(还有Sass和Coffeescript!)开发——如果您对这种方法感兴趣,请留下评论,我将添加一个示例Gruntfile,它可以满足您的需要。

您可以利用,如果其中一个指定文件发生更改,它将执行一个程序:

find -name '*.jade' | entr make

我认为这就是过程,但我不确定如何编写代码。感谢您提供fyp的链接。感谢您的回复。您是否介意添加根据我的要求呈现html模板的命令。我已经安装了simplemon,但它似乎没有根据文件更改进行更新。我不知道我做错了什么。谢谢。
cd-app
然后
simplemon-O jade html\u模板jade\u模板
。你使用的是什么操作系统,我在linux上测试了这个,并且赢了。我在OS X上。使用你的命令,我得到错误
execvp():没有这样的文件或目录
使用命令
simplemon jade-O html\u templates jade\u templates
程序启动时模板编译,但不是在更改上。很抱歉,我错误地放置了-O。好的,我必须看看OSX发生了什么,node.js的fs.watch方法可能有问题。谢谢mihai,请告诉我是否有什么可以帮助调试的地方。如果能看到这个示例,那就太好了。谢谢