我只是想对我的工作流程发表意见。我知道 Yeoman 并且故意决定不使用它。我的工作流程是这样的:
- 运行
bower install
以安装所有项目资产依赖项。 - 运行
grunt
它将所有 js 文件从 bower components 文件夹复制到一个新的 js 文件夹,并将所有 css 文件复制到一个新的 css 文件夹。 - 进一步使用 grunt task 连接和缩小新文件夹中的所有 js 和 css 文件,并将它们放在 dist 文件夹中。
- 请参阅 HTML 中 dist 文件夹中最终缩小的 css 和 js。
在我的 grunt 任务中我当然不想做的一件事是执行特定于依赖项的任务,例如将所有 js 文件从 bootstrap 文件夹抓取到新的 js 文件夹中,然后将所有 js 文件从 prettyphoto 文件夹抓取到新的 js 文件夹中。我希望 grunt 任务尽可能通用,以便我可以在任何项目中使用相同的 gruntfile,无论 bower 依赖项可能是什么样子。原因是如果我应该花所有时间为每个项目编写我的 gruntfile,我为什么不以传统方式获取所有依赖项的源代码。
所以有一个 grunt-contrib-copy 插件可以将文件从一个地方复制到另一个地方,我用它来从 Bower 的组件文件夹中获取所有 js 文件。问题是大多数凉亭组件都带有常规的 js 和它的缩小版本。所以,我正在复制它们并连接和丑化它们。所以重复代码!
我的工作流程有意义吗?是这样,我怎样才能摆脱我在上一段中提到的问题?