這是 Matthieu Lux 和 Mehdy Dara 的客座文章。
簡介 
我 (@Swiip 及 @zckrs) 開始研發我們的 Yeoman 產生器迄今已超過一年。今天我們慶祝我們第一個主要穩定版本的發布:generator-gulp-angular 1.0.0。
最初,我們想要完美結合 generator-gulp-webapp 和 generator-angular,因為我們使用 Angular,但我們受夠了 Grunt 的冗長了。後來,專案的知名度開始提升,計畫也變得更宏偉。
理念
我們遵循 Yeoman 的所有規定,並加入我們的規定:
- 提供寫得好的種子專案,遵循資料夾結構和程式碼格式的最佳建議。
- 提供選項,讓使用者能夠使用最新的技術開始使用最佳工具和最佳化。
- 在專案的不同部分使用自動注入:加入 vendor 和 sources 兩個腳本標籤到 index.html、樣式檔案、vendor、css 或已預處理。
- 提供盡可能完美的測試涵蓋率,針對產生器和產生的程式碼。
支援的技術
我們談到這是一個穩定版本的時候絕不開玩笑。我們整合了許多技術和語言,從 CoffeeScript 到 TypeScript,以及 Sass 到 Stylus。組合的數量超過數百萬!我們撰寫了測試、文件,並修正了 12 個次要版本和 2 個候選版本的問題,以便不論您選擇哪些選項,都能夠提供設定完美的種子專案。
優化服務
我們整合了許多優化方案,為您的網路應用程式使用一些 Gulp 外掛程式:
- browserSync:擁有豐富功能的開發網路伺服器,具有熱載入和裝置同步功能
- ngAnnotate:將簡單的注入轉換為完整的語法,以達到縮小化證明
- angular-templatecache:所有 HTML 部分將轉換為 JS,以套件用在應用程式中
- ESLint:可插接的 JavaScript 程式檢查工具
- 監視:監視您的原始檔案並自動重新編譯
- useref:允許在 HTML 檔案的註解中設定檔案
- uglify:最佳化您所有的 JavaScript
- clean-css:最佳化您所有的 CSS
- rev:於檔案名稱中新增 hash,解決瀏覽器快取問題
- karma:即時運作,karma 單元測試組態
- protractor:即時運作,protractor e2e 測試組態
2.0.0 即將推出…
但 1.0.0 版本不會就此終止。我們已開啟 FountainJS 新的 GitHub 組織,目標為未來 2 版版本,同時也會持續維護 v1 分支。由於建置工具的環境在一年的時間中有了長足的進步,它將會是程式碼基礎的重新開機。其主要賣點將會使用 Yeoman Generator 的合成支援,升級到 Gulp 4,並使用 ES6 編寫。最後,我們希望在功能選項上開啟新的視野:肯定會有相依性管理,但為何不納入網站架構(有人討論過 React)及後端呢?
現在就去試用 generator-gulp-angular v1.0.0 版本!對於新的 FountainJS 專案的任何意見回饋、問題或貢獻都將受到重視。