網頁前端自動化工具 – Grunt

Grunt 網站截圖

Grunt 網站截圖



今天為各位介紹的是一個前端工程師所使用的自動化工具「Grunt」,為何我們要使用這個工具呢?其實使用這個工具的原因有很多,因為他的擴充模組(Plugin)也很多,不過今天馬老師從自動最小化(Minify)的角度來介紹這個工具該如何使用。

一般來說前端網頁開發不外乎HTML、CSS、Javascript這三種語法,而在開發完成之後,為了要節省流量,我們可能會把這三個檔案壓縮後再上傳到網站伺服器上,何謂壓縮請參考下圖:

未經壓縮的HTML檔

未經壓縮的HTML檔

經過壓縮的HTML檔

經過壓縮的HTML檔

未經壓縮的CSS檔

未經壓縮的CSS檔

經過壓縮的CSS檔

經過壓縮的CSS檔

未經壓縮的JS檔

未經壓縮的JS檔

經過壓縮的JS檔

經過壓縮的JS檔

從上面的檔案可以觀察出在開發時我們為了閱讀的便利,常常會利用註解、空白…等來輔助,但真正發佈出去這些東西卻不是必要的,甚至在開發的時候我們為了方面會把CSS或JS拆成好幾個檔案,但發佈之後卻希望可以合併,但如果需要人工來做這件事,可想而知會有多麻煩,這個時候Grunt就會發揮效用了,設定好之後只要一個指令,他就可以幫我們做好這些動作,接下來就來看看該如何使用吧。

首先Grunt是一個基於node.js下的應用程序,所以必須先安裝node.js,安裝的部分並不難,從官網下載後直接執行安裝即可。

Node.js 官方網站 截圖

Node.js 官方網站 截圖

接下來可以參考Grunt網站中Getting Started的單元,或是跟著以下(以Windows為案例)的方式進行Grunt的安裝。

  1. 打開「命令提示字元」。
  2. 輸入「npm install -g grunt-cli」。
  3. 接下來就可以準備網頁專案資料夾了,如下圖所示,我的網頁專案資料夾簡單分成兩個:
    • src:所有開發檔案
    • public:發佈至網路上的檔案

      準備專案資料夾

      準備專案資料夾

  4. 這樣準備的目的應該很清楚,就是希望在src資料夾內以自己最習慣、最方便閱讀的方式來開發,而開發完畢之後可以把壓縮的檔案轉至public資料夾,上傳到伺服器上。

有關於網頁內容開發的部分,本篇文章就省略,所以可以看到上面圖檔中我已經準備好了HTML、CSS、JS各一個,直接進入利用Grunt開始做自動最小化的部分。

  1. 使用Grunt時,必須在網站根目錄建立兩個檔案:
    • package.json:Grunt的專案設定檔,其中可以包含專案名稱、作者、版本,所需要使用的Plugin…等,可以參考下面我的檔案。
    • Grunt.js:Grunt的執行腳本,以本案例來說就是要去哪個資料夾,壓縮哪些檔案後存放在哪邊,需在本檔案中指定。
      {
          "name": "gruntTest",
          "version": "0.1.0",
          "author": "Stanley Ma",
          "devDependencies": {
              "grunt": "~0.4.5",
              "grunt-contrib-htmlmin": "~0.4.0",
              "grunt-contrib-cssmin": "~0.13.0",
              "grunt-contrib-uglify": "~0.9.2"
          }
      }

      以上面的package.json檔案來說,定義了專案名稱、作者、版本以及所需要使用的Grunt版本(撰文時Grunt穩定版為0.4.5)和Plugin列表,因為開頭有提到,本案例以最小化的角度來介紹Grunt,所以用到的三個Plugin分別為:

      • grunt-contrib-htmlmin:最小化HTML檔。
      • grunt-contrib-cssmin:最小化CSS檔。
      • grunt-contrib-uglify:最小化JS檔。
  2. 接下來利用Grunt的專案設定檔來安裝所需要的Grunt和各個外掛,利用「命令提示字元」進入網頁專案的根目錄,輸入「npm install」,他就會在專案資料夾中安裝好所有需要的Plugin。

    安裝 Grunt 後的專案資料夾

    安裝 Grunt 後的專案資料夾

  3. 接下來就要開始準備撰寫Grunt.js的執行腳本,大家可以參考我的專案檔案寫法:
    module.exports = function (grunt) {
    
        grunt.initConfig({
            htmlmin: {
                Target: {
                    options: {
                        removeComments: true,
                        collapseWhitespace: true,
                        removeEmptyAttributes: true,
                    },
                    files: {
                        'public/index.html': 'src/index.html',
    
                    }
                }
            },
    
            cssmin: {
                target: {
                    files: {
                        'public/index.css': 'src/index.css'
                    }
                }
            },
    
            uglify: {
                target: {
                    files: {
                        'public/index.js': 'src/index.js'
                    }
                }
            }
    
        });
    
        grunt.loadNpmTasks('grunt-contrib-htmlmin');
        grunt.loadNpmTasks('grunt-contrib-cssmin');
        grunt.loadNpmTasks('grunt-contrib-uglify');
    
        grunt.registerTask('default', ['htmlmin', 'cssmin', 'uglify']);
    
    };

    這樣的寫法會讓Grunt把在src裡面的三個檔案,分別壓縮後複製一份到public的資料夾中,確定資料夾和檔案無誤之後,繼續下一步動作。

  4. 利用「命令提示字元」進入網頁專案的根目錄,輸入「grunt」之後,出現以下的畫面表示成功。

    Grunt 執行成功

    Grunt 執行成功

  5. 本案例利用三個Grunt的Plugin完成,分別是:「grunt-contrib-htmlmin」、「grunt-contrib-cssmin」、「grunt-contrib-uglify」,其實這三個外掛都有一些其他的參數,另外也可以進行多檔案的批次轉換以及檔案合併…等等功能,建議有需要的同學可以到Plugin各自的網站上去看看使用方式。

附帶一提,一開始就有提到關於Grunt自動化的Plugin非常多,本文僅用到了三個,這裡有Plugin的列表,對這方面有興趣的同學們也歡迎到網站上看更多相關的自動化功能。

You may also like...

21,386 Responses

  1. In November 2010, the word “Christmas” on two signs at Philadelphia’s Christmas Village was removed by the organizers after complaints, but restored three days later after the mayor intervened.

  2. JosephRar表示:

    Играйте СЃ СѓРјРѕРј, РЅРѕ РЅРµ забывайте Рѕ веселье.: balloon казино – balloon казино демо

  3. I really enjoy the blog.Really thank you! Want more.

  4. สมัครเว็บพนันคาสิโนออนไลน์ BETFLIX2T เบทฟิก2ที BETFLIX2T.COM

  5. Marcusnuark表示:

    Revue approfondie : Staking UTLH et 24 % de rendement annuelLe monde des cryptomonnaies offre de nombreuses facons de faire fructifier son capital, et le staking est l’une des plus populaires et simples. UTLH attire l’attention des investisseurs avec son rendement stable — 24 % par an (soit 2 % par mois). Dans cet article, nous examinerons le fonctionnement du staking UTLH, pourquoi il est plus attractif que la plupart des depots bancaires et quels risques doivent etre pris en compte.Qu’est-ce que le staking UTLH ?Le staking (ou “mise en gage”) est le processus de “blocage” ou de “depot” de vos tokens dans un smart contract pour soutenir le reseau ou les utiliser dans differents programmes financiers. Dans le cas de UTLH, les participants au staking recoivent un rendement fixe de 2 % par mois tout en conservant la propriete de leurs tokens.Principales caracteristiques : Rendement : 24 % par an (2 % par mois). Duree : periode classique de staking de 12 mois. Paiements : l’investisseur recoit chaque mois les interets, et le principal du depot (capital) est restitue avec le dernier paiement au 12eme mois.Conditions et modalites de calcul des interets Montant minimum : en general, vous pouvez commencer a staker meme avec 1 UTLH, ce qui rend le produit accessible a un large eventail d’investisseurs. Mecanisme de paiement : Chaque mois, des interets de 2 % du montant initial du depot sont verses sur le portefeuille (ou le compte personnel) de l’investisseur. Apres 12 mois (fin de la periode de staking), l’investisseur recoit le principal (capital) du depot accompagne des derniers 2 % de gains. Flexibilite : dans certains cas, il est possible de retirer les tokens avant terme, mais les conditions et les taux peuvent differer (en fonction des regles du club UTL ou du smart contract). Il est recommande de verifier ces details avant de commencer le staking.Instructions etape par etape : comment commencer a staker UTLH Etape 1. Preparez votre portefeuille de cryptomonnaie Trust Wallet ou MetaMask sont les options les plus populaires pour interagir avec la BSC (Binance Smart Chain). Si necessaire, ajoutez le reseau BSC dans MetaMask (ID de chaine = 56). Etape 2. Achetez des UTLH Via le compte personnel : si vous etes resident du club UTL, vous pouvez acheter le token directement sur la plateforme. Via DEX : par exemple sur PancakeSwap, en echangeant BNB ou BUSD contre UTLH. Sur des bourses centralisees : si UTLH y est liste. Assurez-vous d’avoir un peu de BNB dans votre portefeuille pour couvrir les frais de transaction (gas). Etape 3. Allez sur l’interface de staking Si vous utilisez le site officiel de UTL ou le smart contract de staking : Connectez votre portefeuille (cliquez sur “Connect Wallet”). Autorisez le site a interagir avec votre portefeuille en confirmant la transaction dans MetaMask/Trust Wallet. Etape 4. Indiquez la quantite de tokens Entrez la quantite d’UTLH que vous souhaitez staker. Verifiez que vous avez suffisamment de BNB pour payer les frais de transaction. Etape 5. Confirmez la transaction Le smart contract retirera la quantite d’UTLH specifiee de votre portefeuille et les bloquera en staking. Chaque mois, des interets seront verses sur votre portefeuille/compte et, apres 12 mois, la somme principale sera restituee. Felicitations ! Vous etes maintenant un staker UTLH et recevez un revenu passif.Avantages par rapport aux depots bancaires classiques Rendement eleve Les depots bancaires dans la plupart des pays offrent des taux allant de 1 a 8 % par an (en fonction de la devise et de la situation economique). 24 % par an representent une option bien plus attractive pour ceux qui sont prets a se lancer dans l’univers des cryptomonnaies. Format decentralise Le staking se fait via un smart contract sur la BSC, sans intermediaires ni bureaucratie. Il n’y a pas de restrictions sur les montants ou les barrieres nationales. Emission limitee = potentiel de croissance Si dans les banques, les interets dependent des politiques internes et des regulations monetaires, chez UTLH, le taux peut augmenter en raison de la rarete de l’emission et de la demande de la part du programme UFP (Aide Financiere Universelle). Cela donne a l’investisseur une chance supplementaire de gain, au-dela du staking, grace a l’appreciation du token lui-meme. Liquidite Les tokens peuvent etre retires (si les conditions du contrat sont respectees) et vendus sur une bourse. Contrairement aux depots bancaires, qui exigent generalement d’attendre la fin du terme ou de perdre des interets en cas de retrait anticipe.Risques et comment ils sont minimises 5.1. Volatilite du marche des cryptomonnaies Nature du risque : le prix du UTLH peut fluctuer, comme celui de n’importe quelle cryptomonnaie, ce qui impacte le pouvoir d’achat reel des 2 % recus. Minimisation : L’emission limitee (un peu moins de 1 million de tokens) et les mecanismes de burn creent une penurie, soutenant ainsi le prix. Une demande constante de la part des residents du club UTL, qui utilisent le token comme collateral pour le programme UFP, contribue egalement. 5.2. Risques techniques Nature du risque : des vulnerabilites potentielles dans le smart contract ou des pannes sur le reseau BSC. Minimisation : Le contrat UTLH est audite par des experts independants. BSC est l’un des reseaux les plus stables et eprouves, avec de nombreux projets reussis. 5.3. Limites potentielles du staking Nature du risque : Si vous choisissez de retirer vos tokens avant la fin des 12 mois, des penalites peuvent etre appliquees ou une partie des interets peut etre perdue. Minimisation : Determinez des le debut quelle somme vous pouvez “bloquer” sans en avoir besoin a court terme. Verifiez les conditions de retrait anticipe specifiees dans le smart contract ou les regles internes du club. ConclusionLe staking UTLH est une methode simple pour obtenir 24 % par an (2 % par mois) en cryptomonnaie, qui beneficie d’une emission limitee et d’une utilite reelle dans le programme de financement avantageux. Pour ceux qui recherchent des investissements a long terme et sont prets a prendre un risque modere, cela peut constituer une alternative aux depots bancaires a faible rendement.Les instructions etape par etape de cet article aideront meme les debutants a comprendre rapidement comment acheter et staker des UTLH. Atouts : rendement eleve, faibles frais (grace au reseau BSC) et emission rare qui stimule la croissance du prix. Les risques sont principalement lies a la volatilite du marche des cryptomonnaies et aux specificites techniques de la blockchain, mais beaucoup d’entre eux sont reduits grace a un modele economique bien pense et a son role dans le club UTL.Faut-il commencer a staker des UTLH ? Si vous etes pret a faire le saut dans le monde de la finance decentralisee, que vous appreciez les rendements eleves et croyez au potentiel des emissions limitees, alors UTLH peut etre un choix attractif pour constituer votre portefeuille d’investissements.

  6. MartyWrapy表示:

    Попробуйте выиграть РЅР° автомате Ballon!: balloon казино – balloon казино официальный сайт

  7. Jessepooto表示:

    Играйте СЃ СѓРјРѕРј, РЅРѕ РЅРµ забывайте Рѕ веселье.: balloon казино играть – balloon казино

  8. DouglasWexia表示:

    В этом информативном обзоре собраны самые интересные статистические данные и факты, которые помогут лучше понять текущие тренды. Мы представим вам цифры и графики, которые иллюстрируют, как развиваются различные сферы жизни. Эта информация станет отличной основой для глубокого анализа и принятия обоснованных решений.
    Ознакомиться с деталями – https://mednarkoforum.ru/

  9. The Best Adult Massage In Bay Area 오피사이트

  10. JosephRar表示:

    Казино — это место для больших выигрышей.: balloon игра – balloon казино играть

  11. GordonHor表示:

    Эта публикация завернет вас в вихрь увлекательного контента, сбрасывая стереотипы и открывая двери к новым идеям. Каждый абзац станет для вас открытием, полным ярких примеров и впечатляющих достижений. Подготовьтесь быть вовлеченными и удивленными каждый раз, когда продолжите читать.
    Узнать больше – https://mednarkoforum.ru/

  12. MartyWrapy表示:

    Игровой автомат Ballon дарит СЏСЂРєРёРµ эмоции.: balloon казино демо – balloon казино играть

  13. Huijue Energy表示:

    This is one awesome article post.Much thanks again. Great.

  14. Since returning from Malang, I often play at his house. I did this at the request of Aunt Ninik, because her husband was often assigned to other islands.

  15. KennethIdiom表示:

    https://akhbutina.kz/# Удача всегда рядом, когда играешь.

  16. Magnificent site. A lot of helpful information here. I am sending it to some friends ans also sharing in delicious. And of course, thank you in your effort!

  17. you have a fantastic weblog here! do you want to make some invite posts on my own weblog?

  18. hvac system表示:

    Odd this post is totaly unrelated to what I was searching google for, but it surely was indexed on the first page. I guess your doing one thing proper if Google likes you sufficient to position you on the first web page of a non comparable search.

  19. BryanKal表示:

    опубликовано здесь nova маркетплейс

  20. MartyWrapy表示:

    Ballon — РёРіСЂР°, полная СЃСЋСЂРїСЂРёР·РѕРІ.: balloon игра – balloon игра на деньги

  21. A powerful engine can pull more weight, making it an important issue to contemplate when evaluating towing capability.

發佈回覆給「EdwardMor」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。