流星需要Gulp还是Grunt?

day*_*oli 19 node.js meteor gruntjs gulp isobuild

所以我一直在阅读GulpGrunt,以及他们如何缩小代码,压缩文件,将文件合并为一个,livereload等等.但是,Meteor已经完成了所有这些,使用Isobuild.

我问的原因是有人建议使用Gulp和Meteor,我认为不需要它.我应该和Meteor一起运行Gulp的原因是什么?或者它只是多余的?

如果它不是多余的,Gulp有哪些功能不在Isobuild中?Meteor团队是否计划将Gulp纳入其下一版本?

big*_*olf 31

需要可能不是正确的词.无论你是否想要它都是一个不同的故事.

正如上面提到的评论,Meteor包含一个非常聪明的构建系统,称为isobuild,它为您构建您的WHOLE应用程序.但是,有些情况下你可能想要自己的任务,最好通过咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕 (你可以用这些完成的任务范围是惊人的,所以我只列出几个简单的常见例子.)

最明显的是要放在公用文件夹中的资产.但这远不是您可能希望在较大项目上自动执行的详尽任务列表.

  • 不使用libsass编译器编译SASS文件(因为它不支持所有功能)
  • 压缩和优化图像,svg文件,favicon等.
  • 创建多个尺寸/版本的图像
  • 创建精灵表
  • 以您自己的顺序/方式连接和缩小脚本
  • 与Bower结合,管理大气等无法提供的前端包装.

我接近它的方法是将所有这些放入私人文件夹,因此它被流星isobuild构建系统所避免.

我相信这些都是不考虑Gulp或Grunt冗余的充分理由,并且grunt或gulp可能的任务范围如此多样化,它们不能全部列在这里.毋庸置疑,IsoBuild对于它的功能非常出色,但不会用这些任务运行器取代所有可能的东西,据我所知,没有计划将Gulp整合到IsoBuild中.IsoBuild是Meteor的核心,gulp和grunt是非常强大的自动化工具,具有数千种可能的用途.

对于gulp来说,这是一个非常棒的入门者,它的开始非常简单: NodeJitsu Gulp教程

所以,当然,你不需要咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕

如果您想使用grunt或gulp,这就是我处理项目结构的方法:

Project-folder
    |__ webapp  // my meteor app lives here
    |__ assets  // scss / images / svgs
    |__ node_modules
    | gruntfile.js
    | .eslintrc
    | package.json
Run Code Online (Sandbox Code Playgroud)

然后我用我的目标目录构建,缩小和处理我的资产 webapp/public

请注意,在Meteor@1.3中有完整的npm支持,这可能会有所改变,但我不清楚我们是否能够将其纳入项目中.