国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

享受 Grunt

Sike / 1843人閱讀

摘要:這些任務包括但不限于將源代碼編譯為二進制文件打包二進制文件運行測試用例發布到線上環境添加文檔或發行注釋為什么很重要呢,因為它能節省程序員的時間。

Update: 別用 Grunt 了,用 Gulp !拜拜。

(原文發表于我的個人博客 http://frankfang.com/2013/12/29/grunt-is-awesome/ ,如有錯
誤,還請賜教)

在生產環境中使用 Grunt 已經有兩個多月了,是時候寫一些體會了。目前能在網上搜到不少入門教程,我這篇就不再贅述 使用 Grunt 的目的、安裝過程和配置方法等了,主要講一些實際工作時的思考。另外還涉及到 Bower 和 Yeoman。

Build Automation

Build Automation 就是「構建自動化」,Wiki 上的解釋是

  

構建自動化是將軟件開發人員日常工作中的一系列任務自動執行。這些任務包括但不限于

將源代碼編譯為二進制文件

打包二進制文件

運行測試用例

發布到線上環境

添加文檔或發行注釋

為什么 BA 很重要呢,因為它能節省程序員的時間。重復性、可執行的任務,本應交給機器來完成。省時省力,多好。

P.S. 其實 BA 不一定總是好的,見下圖

用 Grunt 之前

BA 具體到前端開發,就包括但不限于以下任務

將 LESS/SCSS 和 CoffeeScript 編譯為 CSS 和 JS

將源代碼(JS、CSS、HTML)和圖片壓縮(以節省用戶帶寬)

打包或合并資源文件

對資源文件做版本控制

運行測試用例

發布到線上環境

在 Grunt 之前,我們一般是怎么完成這些任務的呢?我們用了類似的自動構建工具,如 Ant 或 Make。說實話,Grunt 跟這些工具的區別可能僅僅是語言的選擇不同,但這正是吸引我們前端開發者的一點——使用 JS 作為開發語言。

Ant 我真是從沒用過, 因為我真的看不懂 XML(其實我是忠實的 Java 黑你應該知道吧)。Makefile,總感覺是 C/C++ 程序員用的東西,也無愛。

感謝 Grunt,我不用去學習 Ant 和 Make,就可以按我的想法來做自動構建了。

Yeoman 和 Bower

一般來說,用 Grunt 的同時都會配合著 Yeoman 和 Bower 來用。我先吐槽下這倆貨。

Bower 很好用,能節省我們寶貴的人生。不過 bower list --path 有時候不能把文件的路徑打印完整,每次都要我費勁去翻目錄,因為這些組件的開發者沒有在 .bower.json 里添加 main 文件的配置,差評。

Yeoman 一般,能幫你寫好初始模板、Gruntfile 和 Bower,但是有兩個缺點

一、臃腫

流行的 generator 添加了過多的任務而顯得十分臃腫!以 generator-backbone 為例,它添加了 25 項 Grunt 任務,其中 9 項我不怎么想用,最氣人的是它還有一個 compass 任務,要運行這個任務我需要事先安裝 ruby!你敢再多依賴點兒別的東西嗎!?

二、可定制化差

我想改變一下 generator-backbone 里面的目錄結構,廢老大力氣了。牽一發而動全身,而且有些任務插件又沒有文檔,改起來提心吊膽的。

所以目前我還是沒有直接使用 Yeoman,只是借鑒了里面的 Gruntfile 的寫法。并且在嘗試寫自己的 generator。

用 Grunt 之后

我用 Grunt 做了哪些事呢?其實主要是兩方面:加快開發和自動構建。

加快開發

主要使用了 watch 任務。

由于我們在項目里采用了 LESS,所以我使用 Grunt 對其進行實時編譯。

Live Reload 功能我并沒有使用,它很煩,經常在我不想刷新頁面的時候幫我刷新了。而且速度也不夠快。

另外我讓 Grunt 實時運行單元測試。

自動構建

這個過程主要交給 usemin 任務來完成。

它會合并文件、壓縮文件, 以及加版本信息。

我們的 git commit 即可觸發 CI 來執行 Grunt 命令,然后將其發布到線上環境。

Workflow

這就是傳說中的 Workflow 啊,將我從繁雜的瑣事中解救出來了哇,有一種「世界如此美妙」的感覺!

簡單來說,只要在工作中遇到了 over and over again 的任務,我就會考慮把它放入 Grunt 中,作為 Workflow 的一個步驟。

這樣做的好處是什么呢?只有一個:把本該讓機器去做的事交給機器去做。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87447.html

相關文章

  • 切圖崽的自我修養-使用自動化工具

    摘要:前言已爛想來大家對自動化構建工具已經不陌生了,自動化構建工具可以幫開發者省去很多重復勞動比如語法糾錯文件打包文件操作,合并壓縮等等常用的自動化構建工具有等等,這些構建工具核心都是依賴第三方插件,通過顆粒化任務,再將這些任務按照合適的方式進行 前言 F5已爛 showImg(https://segmentfault.com/img/bVyS47); 想來大家對自動化構建工具已經不陌生了,...

    jayce 評論0 收藏0
  • 切圖崽的自我修養-使用自動化工具

    摘要:前言已爛想來大家對自動化構建工具已經不陌生了,自動化構建工具可以幫開發者省去很多重復勞動比如語法糾錯文件打包文件操作,合并壓縮等等常用的自動化構建工具有等等,這些構建工具核心都是依賴第三方插件,通過顆粒化任務,再將這些任務按照合適的方式進行 前言 F5已爛 showImg(https://segmentfault.com/img/bVyS47); 想來大家對自動化構建工具已經不陌生了,...

    GT 評論0 收藏0
  • 切圖崽的自我修養-使用自動化工具

    摘要:前言已爛想來大家對自動化構建工具已經不陌生了,自動化構建工具可以幫開發者省去很多重復勞動比如語法糾錯文件打包文件操作,合并壓縮等等常用的自動化構建工具有等等,這些構建工具核心都是依賴第三方插件,通過顆粒化任務,再將這些任務按照合適的方式進行 前言 F5已爛 showImg(https://segmentfault.com/img/bVyS47); 想來大家對自動化構建工具已經不陌生了,...

    luqiuwen 評論0 收藏0
  • 前端開發學習-網址記錄

    摘要:不是一下子能看完綜合使用編程是一番怎樣的體驗學習筆記網站前端開發基礎算法題如何優雅地使用如何優雅地使用零度博客碼農網伯樂在線什么是頁面渲染國外先更到這,還有太多網址,先歸類一下再補充。 最近在復習JavaScript知識時遇到以前就不懂的閉包、上下文,雖然比以前理解深了一點,但還是懵,想緩一下。。就去看了其他。。把Git、Grunt、Gulp、jQuery、jQuery UI、Reac...

    CatalpaFlat 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<