将Jade集成到Yeoman的服务器/监视/重载任务中

我一直在玩Yeoman & Jade 。 我已经创build了一个小testing应用程序通过yeoman init angular (这是一个angular度的应用程序,但这不是重点)…

当我在命令行inputyeoman server时,它会:

  • 编译coffeescript和罗盘文件
  • 启动服务器
  • 启动浏览器
  • 观看和重新加载浏览器中的咖啡和罗盘变化

这是Yeoman的一大特色!

现在我想要与Jade相同的function。 所以我通过npm install grunt-jade并在GruntFile.js中添加了如下configuration来编译jade模板:

  jade: { html: { src: ['app/views/*.jade'], dest: 'app/views', options: { client: false } } }, 

通过在watch任务中添加以下configuration,我能够将jade任务整合到Yeoman的监视和重新加载任务中:

  watch: { ... jade: { files: 'app/views/*.jade', tasks: 'jade reload' }, ... } 

而且所有的工作都非常好,除非在命令中添加了jade任务,否则不会发生初始编译:

 yeoman jade server 

我们的pipe家不喜欢这个漂亮的女孩,因为他不会让她整合他的server任务:)这是烦人的,因为yeoman server将只编译coffeescript和罗盘文件。

有什么办法可以将jade任务添加到yeoman server的默认执行?

我们创build了一个关于如何将翡翠与Yeoman整合在一起的指南: 使用Yeoman和Jade

确保添加

  grunt.loadNpmTasks('grunt-jade'); 

在你的grunt文件的顶部,否则yeoman不知道如何处理“玉”的任务

https://gist.github.com/passy/5229305上使用Yeoman 1.0和Jade有一个很好的指导