2013-05-30 54 views
6

我只想讓我的工作流程的意見。我知道Yeoman,並有意不使用它。我的工作流程如下所示:鮑爾和咕嚕工作流程

  1. 運行bower install安裝所有項目資產依賴關係。
  2. 運行grunt其拷貝所有的JS從涼亭組件文件夾到一個新的文件夾的js文件和所有css文件到一個新的css文件夾。
  3. 進一步使用咕嚕任務來連接,然後再縮小距離新文件夾的所有js和css文件,並把它們放到一個文件夾DIST。
  4. 請參閱HTML中dist文件夾中最終縮小的CSS和js。

有一件事我當然不希望在我的咕嚕任務做的是例如執行依賴特定的任務將bootstrap文件夾中的所有js文件抓取到新的js文件夾中,然後將所有js文件從prettyphoto文件夾中抓取到新的js文件夾中。我希望grunt任務儘可能通用,以便我可以在任何項目中使用相同的gruntfile,而不管bower的依賴關係如何。原因是如果我應該花所有時間爲每個項目編寫grunt文件,爲什麼我不會以傳統方式獲取所有依賴項的源代碼。

因此,有一個咕嚕-contrib請複製插件從一個地方複製到另一個文件,我用它來抓住所有從涼亭的部件文件夾內的JS文件。問題是大多數涼亭組件都帶有普通的js和縮小版本。所以,我抄襲他們並串聯和醜化他們。所以重複的代碼!

請問我的工作流程是有意義的?是的,我怎麼能擺脫我在上面提到的問題?

回答

2

如果我理解正確的話,你應該看一看grunt-usemin。您可以將您的js標籤包裝在<!-- build:js js/foo.js -->中。包中包含的useminPrepare任務將遍歷所有腳本(或css或圖像等)並將其動態添加到concat或uglify任務中。

我發現的一個缺點是usemin任務相當緩慢,但有希望如果this pull request被實現,事情會變得更快,速度更快。

+0

謝謝,我試過usemin,它的確很棒。唯一的問題是,js和css文件的加速版本實際上並未創建。這是Windows機器上的一個已知問題。我沒有看到我的配置有任何問題。 – Prashant