所以我一直在阅读Gulp和Grunt,以及它们如何缩小代码、压缩文件、将文件合并为一个、livereload 等。然而,Meteor已经用Isobuild完成了所有这些。
我问的原因是有人建议将 Gulp 与 Meteor 一起使用,我认为没有必要。我应该与 Meteor 一起运行 Gulp 的一些可能原因是什么?或者它只是多余的?
如果不是多余的,那么 Gulp 有哪些 Isobuild 中没有的功能?Meteor 团队是否计划将 Gulp 整合到其下一个版本中?
需要可能不是正确的词。不管你愿不愿意,那就是另一回事了。
正如上面提到的评论,Meteor 包含一个非常聪明的构建系统,称为 isobuild,它为您构建您的整个应用程序。但在某些情况下,您可能希望自己的任务最好通过 grunt 或 gulp 来完成。(你可以用这些完成的任务范围是惊人的,所以我只列出几个简单的常见例子。)
最明显的是要放在公用文件夹中的资产。但这远不是您可能希望在更大的项目中自动化的详尽任务列表。
我处理它的方法是将所有这些都放入私有文件夹中,因此流星 isobuild 构建系统可以避免它。
我相信这些是不考虑 Gulp 或 Grunt 多余的充分理由,并且 grunt 或 gulp 可能执行的任务范围如此之多,以至于无法在此处全部列出。不用说,IsoBuild 的功能非常棒,但不会用这些任务运行器取代所有可能的东西,据我所知,没有计划将 Gulp 合并到 IsoBuild 中。IsoBuild 是 Meteor 的核心,gulp 和 grunt 是非常强大的自动化工具,具有数千种可能的用途。
这是一个非常棒的 gulp 入门,上手超级简单: NodeJitsu Gulp 教程
因此,当然,您不需要grunt 或 gulp,但它们肯定可以在您的流星项目中占有一席之地,并且它们绝对是值得掌握的工具,可以简化您的开发流程。
如果您想使用 grunt 或 gulp,这就是我处理项目结构的方式:
Project-folder
|__ webapp // my meteor app lives here
|__ assets // scss / images / svgs
|__ node_modules
| gruntfile.js
| .eslintrc
| package.json
然后我构建、缩小和处理我的资产,我的目标目录位于webapp/public
请注意,随着 Meteor@1.3 提供完整的 npm 支持,这可能会改变,尽管我不清楚我们是否能够将它移动到项目中。