Dependencies Grunt.js依赖关系管理

Dependencies Grunt.js依赖关系管理,dependencies,gruntjs,recompile,Dependencies,Gruntjs,Recompile,有没有办法在Grunt中指定文件依赖项?即,如果我有: global/page.jade project/index.jade -- includes global/page.jade project/about.jade -- includes global/page.jade project/test.jade 我更改了global/page.jade,然后我想重新编译project/index | about.jade。我检查了插件,但找不到任何可以提供该功能的插件。请按照以下方式在Gr

有没有办法在Grunt中指定文件依赖项?即,如果我有:

global/page.jade
project/index.jade -- includes global/page.jade
project/about.jade -- includes global/page.jade
project/test.jade
我更改了
global/page.jade
,然后我想重新编译
project/index | about.jade
。我检查了插件,但找不到任何可以提供该功能的插件。

请按照以下方式在Grunfile.js中使用

...

  watch: {
    scripts: {
      files: 'src/**/*',
      tasks: ['buildDevelopment'],
      options: {
        interrupt: true,
      },
    }

grunt.registerTask('buildDevelopment', ['clean'
                        ,'jade'
                        ,'copy:development'
                        ,'bowercopy:development'
                        ]);

...

我建议加强Atillas解决方案。在每次更改时重建所有模板不是最优的,并且会让您在大型项目中感到恼火

以下是应该有所帮助的:

使用更新的插件仅处理更改的文件 安装:npm安装grunt更新版--保存开发
文档:
用法:

  • 为任务添加较新的前缀:
  • 添加grunt.loadNpmTasks('grunt-newer');到Grunfile
  • 使用覆盖选项检查包含(您正在寻找的魔法)

更新的:{
选项:{
覆盖:功能(详细信息,包括){
如果(detail.task==='jade'){
检查表单修改端口(detail.path、detail.time、include);
}否则{
包括(假);
}
}
}
}



使用watch检测文件更改 安装:npm安装grunt contrib监视--保存开发 文档:
用法:

  • 添加grunt.loadNpmTasks('grunt-contrib-watch');碾碎
  • 任务可以看起来像这样

观察:{
脚本:{
文件:'***.jade',
任务:['newer:jade'],
选项:{
打断:对
},
},
}

你在使用什么任务?@AllanKimmerJensen我在使用
grunt contrib jade
并且有同样的问题。我的
gruntfile
这里:我在
grunt-cotrib-jade
repo上问了一个问题,现在还没有答案。不要依赖jade并尝试grunt contrib watch进行重新编译?在第63行尝试将
'newer:jade'
更改为
'jade'
,这应该编译所有jade模板,而不仅仅是更改的模板。我遇到了
致命错误:没有定义checkForModifiedImports
。Used看起来像是
checkForModifiedImports()
是一个用户定义的函数-在较新的、jade或更少的项目中没有定义(较新的自述引用更少)。我很想看一个例子!好的,我在
newer
repo问题中询问了这个问题,您必须为此编写自己的函数。我很快就会发布这个例子。我只是在Github上找到了一个可行的解决方案。很简单,如1,2,3:
如果detail.task是'jade
,则
包含true
。它是有效的。