如何使用模板有条件地编译(使用Grunt)仅更改的玉文件,包括

吉拉德·佩莱格(Gilad Peleg)

在这里使用grunt-contrib-watch建议仅编译更改文件的版本https : //github.com/gruntjs/grunt-contrib-watch#compiling-files-as-needed

var changedFiles = Object.create(null);

var onChange = grunt.util._.debounce(function() {
grunt.config('jshint.all.src', Object.keys(changedFiles));
   changedFiles = Object.create(null);
}, 200);

grunt.event.on('watch', function(action, filepath) {
   changedFiles[filepath] = action;
   onChange();
});

效果很好(同样,我在这里为它写了一个变体:https : //gist.github.com/pgilad/6897875

问题是在include内部Jade模板中使用时,这意味着您将包括其他Jade模板以构建完整的html文件。

使用单一解决方案无法编译,因为如果.jade您正在使用include current_working_jade.jade文件被嵌入使用-包含的文件将不会重新编译。

除了jade从头开始编译所有文件之外,还有其他解决方法吗?每次要编译约60个大型玉文件时,这会引起问题。

我能想到的唯一可能的解决方案是在外部或通过目录映射Jade模板依赖关系,但是我不知道有什么工具/插件可以做到这一点。

吉拉德·佩莱格(Gilad Peleg)

在已经开始研究会产生某种翡翠的脚手架之后,sourcemap我发现了这个伟大的项目,已经解决了这个问题:

翡翠传承

用法如下:

  1. 使用以下方法安装软件包: npm install jade-inheritance --save-dev
  2. 您想从玉器获取依赖文件的列表的位置:

    var JadeInheritance = require('jade-inheritance');

    var inheritance = new JadeInheritance(file, basedirname, {basedir:basedirname});

  3. 然后,当您要获取文件时:

    depenedentFiles = inheritance.files;

  4. 该项目还演示了如何应用该概念,grunt.watch以便仅jade使用其依赖项来编译已更改的文件,这正是我所需要的:

与玉石继承一起使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用模板包括条件地编译(使用Grunt)仅更改的玉文件

来自分类Dev

如何使用Ansible有条件地复制文件?

来自分类Dev

如何有条件地包括外部javascript文件?

来自分类Dev

使用属性有条件地使用MSBuild编译源代码文件

来自分类Dev

使用Angular指令有条件地加载模板

来自分类Dev

使用AngularJS有条件地更改CSS

来自分类Dev

XSLT-如何使用模板匹配有条件地对元素进行分组

来自分类Dev

如何使用?要么 ??有条件地渲染Blazor模板?

来自分类Dev

使用SIMD,如何有条件地仅移动alpha通道值为255的像素?

来自分类Dev

如何仅使用CSS有条件地调整填充?

来自分类Dev

使用shutil有条件地移动文件

来自分类Dev

使用Maven有条件地构建EAR文件

来自分类Dev

如何使用jq有条件地更改所有记录上的多个值

来自分类Dev

如何使用JS有条件地更改CSS样式?

来自分类Dev

如何有条件地使用Test :: Simple?

来自分类Dev

如何使autoconf有条件地使用系统扩展?

来自分类Dev

如何有条件地正确使用jQuery replaceWith?

来自分类Dev

如何有条件地使用芹菜做任务?

来自分类Dev

如何有条件地使用SQL通配符?

来自分类Dev

如何使用vim有条件地替换数字

来自分类Dev

如何使用python有条件地修改列表

来自分类Dev

如何使用EJS有条件地显示变量

来自分类Dev

如何有条件地使用rxjs进行缓冲?

来自分类Dev

如何使autoconf有条件地使用系统扩展?

来自分类Dev

如何使用FluentValidation有条件地验证属性?

来自分类Dev

如何使用FFMPG有条件地模糊视频

来自分类Dev

如何使用 Capistrano 有条件地清理版本?

来自分类Dev

如何有条件地设置模板头的编译器优化

来自分类Dev

如何使用AngularJS在HTML文件中有条件地插入字符串?

Related 相关文章

  1. 1

    如何使用模板包括条件地编译(使用Grunt)仅更改的玉文件

  2. 2

    如何使用Ansible有条件地复制文件?

  3. 3

    如何有条件地包括外部javascript文件?

  4. 4

    使用属性有条件地使用MSBuild编译源代码文件

  5. 5

    使用Angular指令有条件地加载模板

  6. 6

    使用AngularJS有条件地更改CSS

  7. 7

    XSLT-如何使用模板匹配有条件地对元素进行分组

  8. 8

    如何使用?要么 ??有条件地渲染Blazor模板?

  9. 9

    使用SIMD,如何有条件地仅移动alpha通道值为255的像素?

  10. 10

    如何仅使用CSS有条件地调整填充?

  11. 11

    使用shutil有条件地移动文件

  12. 12

    使用Maven有条件地构建EAR文件

  13. 13

    如何使用jq有条件地更改所有记录上的多个值

  14. 14

    如何使用JS有条件地更改CSS样式?

  15. 15

    如何有条件地使用Test :: Simple?

  16. 16

    如何使autoconf有条件地使用系统扩展?

  17. 17

    如何有条件地正确使用jQuery replaceWith?

  18. 18

    如何有条件地使用芹菜做任务?

  19. 19

    如何有条件地使用SQL通配符?

  20. 20

    如何使用vim有条件地替换数字

  21. 21

    如何使用python有条件地修改列表

  22. 22

    如何使用EJS有条件地显示变量

  23. 23

    如何有条件地使用rxjs进行缓冲?

  24. 24

    如何使autoconf有条件地使用系统扩展?

  25. 25

    如何使用FluentValidation有条件地验证属性?

  26. 26

    如何使用FFMPG有条件地模糊视频

  27. 27

    如何使用 Capistrano 有条件地清理版本?

  28. 28

    如何有条件地设置模板头的编译器优化

  29. 29

    如何使用AngularJS在HTML文件中有条件地插入字符串?

热门标签

归档