前端的童鞋对grunt应该不陌生,前面也陆陆续续的写了几篇grunt入门的文章。本篇文章会更进一步,对grunt的源码进行分析。文章大体内容内容如下:

  1. grunt整体设计概览
  2. grunt-cli源码分析
  3. grunt-cli模块概览
  4. grunt-cli源码分析
  5. 写在后面
    aaarticlea/png;base64,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" alt="Alt text" longdesc="http://gruntjs.com/img/grunt-logo.png" />

grunt整体设计概览

grunt主要由三部分组成。其中,grunt-cli是本文的讲解重点

  1. grunt-cli:命令行工具,调用本地安装的grunt来运行任务,全局安装。
  2. grunt:本地grunt,一般安装在项目根目录下。主要作用是读取插件配置,调用指定的grunt插件。
  3. grunt插件:完成具体的构建任务。

grunt运行机制

抛开代码细节,grunt运行的整体流程如下。接下来,我们就会对红框部分,grunt-cli的源码进行进一步的探讨。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAARsAAAG6CAYAAAA4beJqAAAgAElEQVR4Ae2dCdxN1frHn9c8vGYiKkNUogFJCEVJE11EN0rcouFGmv7NcQ2pRLpXJdVN002JiFIJKYlbkRuFZChDZJ7H/X9+K3u3z3HeYW9nn/ecs3/r89nv2cMav2vt337Ws/Z7jggDCZAACSSAQEYCymARkQRa6WFn3ZrrVkW3TN0YgiewU4tYo9ss3cbq9qluDCSQlgRqaatm6mZxSwoG6Av0CQMJpBUBWDGbdbOKFy9+uH///tb8+fOtHTt2WAyJIQDWYA726AP0xZE+aaafDCSQFgTw9DRC07JlS2vlypWJubtYSpYE0AfoC+0XW3Bo4aTFrcZGzMSgxuA+fPhwljcALySWAPrCJTjoI4aACdBBHCxgOIOnqdluLVq0KKNq1arBlsbcPRFYtWqV1KlTx9q1axfug4t0o9PYE0FvkfN5i87YHglg1UnuvfdeCo1HcImIDvFH3xwpy/RVIsoNaxkUm2B7Ho5hadu2bbClMHffBFx9Y/rKd0ZMmCMBW9VzjMgIvgjs0FSZuhIimZl8ncYXwYAT7dy5U0qUKIFS8B6O2Qm4yNBmT7EJtuux2iHq+gy2FOZ+TAQyMpzbwNk5pgyZOCYBTqNiYuFJEiCBeBOg2MSbKPMjARKISYBiExMLT5IACcSbAMUm3kSZHwmQQEwCFJuYWHiSBEgg3gQoNvEmyvxIgARiEqDYxMTCk7klsGnTpiyX9rnkn1uK4YhHsQlHPwfWyptvvlmuuuqqo/LfuHGjnHHGGfLFF18cdY0nwkmgQDibzVaDwO233y6zZs2SIkWKSIECBSR//vxms19y0/+MloMHD8revXvl7LPPlhdffPEocBCVHj16HHX+2WeflRo1akijRo2OusYT4STANyaD7fekfoN49erVsm/fPilcuLAMHTpUypcvL3//+98dIg0bNpS3335bKlasKBCek046yblm7yCN/ke7iWOfW7t2rTRt2lTmzJkjlSpVEvx3dTL/x7strlp/3g92JwbwScsmAKipkqVbPMqVKydFixaVsmXLOtXPly+fVKhQQU444QTnHHa2b98ujzzyiLGG9u/fL88884zs2bNHunfvLnXr1pWePXvKgAEDjND8/vvvot8bI2PGjJHzzz8/Ih8ehIsAfTbh6u8sWwtnLqZRuQmwhNq0aWPEpl27dnLZZZfJ559/bgRHv7JBSpYsKV27djVZwfJ5/fXXpWPHjrJ06dLcZM84aUqAlk2adqzXZh04cEAKFiyYq2S22IwfP146depkpkzw3Xz33XdmOgZrqHbt2sZSQtxixYrhS6qkffv2Mm/ePHOcq4IYKa0IUGzSqjtz1xg4fCdOnGi+9gJiAOfwihUrjP8GFoodEG/27NnGIsF0Sb/RTq688krjUEYcXIOvZ/fu3YKvarjhhhvk0ksvlSpVqojLD2JnJ3369JE1a9ZIrVr8yl8HSoh2KDYh6my7qXAKw/ELiwNig+nT119/bUQA1+yA7+GZMmWKiWeLTevWrY3Y/PTTT6Jfd2qmTDNmzJB69eoZywjCgxUuW8TgWIbVBOEaMWKEnTU/Q0iAYhPCTi9VqpS8++67ES2H8/Yf//iHNGjQwDk/depUGTx4cMxVqPfee88shyMyhKtVK3zdsv7629ixMm7cODnnnHPMMf5AgJDXli1bnHPcIQESiC8BLH0n9mcDfJSmlodVunRpS6dCEalr1qxp6bJ1xDn7YKX+HEqLFi2sW2+91TruuOMsdf6aS4MGDbLuu+8+O5r51KmTpY7iiHPJdIA+OrLFt/eZWwQBrkZF4AjnASyRxo0bm2lRbgngvZnp06cL3qnBFAvTJgYSyI4AxSY7OiG4tm3bNtFfiYx4mS+3zYbfBv+O0Lt3b2nSpIl5uS+3aRkvfAToswlfnzsthtBgObp58+bmXRnnwpEd/KsCnLuxwvr166VDhw4ycOBA6dWrl3n7GG8KI+C9GveqFiwfBhIggWAJJK3PZtmyZZZOhaxrrrnG0pWimC4UfavYWrBgwVHXdJncqlat2lG+GUTs16/fUefhs4FPKFmDDgH6bIK9D5h7Aggkrdjgxtcl62x/EhjO3lgOYvx07UcffRRTO77//nv8+mfENcTfvHlzxLlkOqDYJOBO0CL4j2fBcobYZPl9L8EWzdxzS8D1AiLvh9xC8xGPDmIf0JiEBEjAOwGKjXdmTEECJOCDAMXGBzQmIQES8E6AYuOdGVOQAAn4IECx8QGNSUiABLwToNh4Z8YUJEACPghQbHxA85BkJ+Liu14YkpOAq2/YSQF3EcUmWMBrkD3+h4ghOQm4+sb0VXLWMj1qRbEJth9nIftJkyYFWwpz903A1Temr3xnxIQ5EuAbkzkiOqYI+EapafqNdniFPwNfy8CQPATwj6P63ciWft0p7oOLdPs0eWqXfjWhZRNsn2LwfobBjB9y0/8HCrY05p5rAugL9MkRoflME1Jock2PEZOVAL7de7Nulv5+koVvuGPIWwLoA/QF+uRI3/Ab2BVE0CF/0AUwfyM0c5TDVfrVDEVHjx5t6ffEZOB7gDMzM6VQoUJElAACWHVavHixvPDCC9KlSxd8jSmmTvhS5Ha6zU9AFVgECSSMAJ6eM3Wzn6j8zFsW6AtaNAohUYEO4kSR/rMcOI0769Zctyq6ZerGEDwBvEezRjesOo3VjT4ahcBAAslMAL+r+3oyV5B1S04CXI1Kzn5J5lph+keLOJl7KEnrRrFJ0o5J4mpRbJK4c5K5ahSbZO6d5KzbYa0Wx01y9k1S14qDJqm7JykrR8smKbsl+StFsUn+Pkq2GlJskq1HUqQ+FJsU6agkqianUUnUGalUFYpNKvVWctSVlk1y9EPK1YJik3JdlucVpmWT512QmhWg2KRmv+VlrWnZ5CX9FC6bYpPCnZdHVafY5BH4VC+WYpPqPZj4+nMalXjmaVEixSYtujGhjaBlk1Dc6VMYxSZ9+jJRLaHYJIp0mpVDsUmzDk1AcziNSgDkdCyCYpOOvRpsm2jZBMs3bXOn2KRt1wbWMFo2gaFN74wpNundv0G0jpZNEFRDkCfFJgSdHOcmUmziDDQs2VFswtLT8Wsnp1HxYxmqnCg2oeruuDSWlk1cMIYvE4pN+Pr8WFtMsTlWgiFNT7EJaccfQ7M5jToGeGFOSrEJc+/7azstG3/cQp+KYhP6IeAZAC0bz8iYAAQoNhwHXgnQsvFKjPENAYoNB4JXAhQbr8QY3xCg2HAgeCXAaZRXYoxPAiSQawInaMxtum0+8rnnyOdu/XxDNwYSyJFAgRxjMAIJiKxTCPh97zIuGEV0f69uP7vOcZcESIAEjpnAUM1hn27w2dgbLJyTdGMgARIggbgRqKU5YdpkCw0+v45b7syIBEiABFwEFui+LTbbdf8G1zXukgAJkEDcCPTQnCAyEBxMoTJ1YyABEiCBuBOAuEBkDun2btxzZ4YkQAIk4CLwlu5jFepi1znukgAJkEDcCZyvOWIahaVwBhIgARIgARIgARIgARIIIQHHFLaqVbHEgnXMQAIkQAJxJGBZVsbqdfn+/HcFCM3KNXEsgVmRAAmQgBKoVsUYNfyvb44GEiCBhBCg2CQEMwshARKg2HAMkAAJJIQAxSYhmFkICZAAxYZjgARIICEEKDYJwcxCSIAEKDYcAyRAAgkhQLFJCGYWQgIkQLHhGCABEkgIAYpNQjCzEBIgAYoNxwAJkEBCCFBsEoKZhZAACVBsOAZIgAQSQoBikxDMLIQESIBiwzFAAiSQEAIUm4RgZiEkQAIUG44BEiCBhBCg2CQEMwshARKg2HAMkAAJJIQAxSYhmPOukMOHD+dd4SyZBFwEUlpsDh48KE8//bSrOd52n3rqKZNg0qRJ8r///c9bYo2NG3nx4sUmnX6BvGzYsEF27twpe/bsMRv2cc59wy9atCjLcj766CMZPXp0ltdx4ZVXXpG+fftmG8d9EfkNGzbMfeqo/UOHDknHjh1l69atR12LPgFWX3/9dfTpPDv+6quvZP78+RHlDxgwQNatWxdxLvrgr3/9q/z222/Rp/Ps+FjHcp5V3EPBf/66godEyRIVHfTGG2/IHXfc4atKr732mtx1113yzTffmPRnnHGGp3wgKv/4xz/k8ssvl06dOsnQoUOlSJEiki9fPv1VHMsIw6mnnioTJ06UokWLyu7du+Wee+4xcW+44Yajytq2bdtR59wnfvzxRxk/frwpY8GCBXL22We7Lx+1v2bNGpkyZYoUKFBA/va3v0mpUqWOioMTDz74oFxzzTVSunRpU78VK1ZIyZIlBSK0ZcsWuf76640YIW7z5s2lW7ducvXVV0vr1q2lZcuW0qxZM8mfPz8uG2H973//K88//7w0aNDAnIOQFSxYUMqVKycZGRny8ccfm7RgBCZLly6VL774wsT1+mfGjBly5plnSr169ZykM2fOlAceeMA5jt5Bub/88otUrFjRufTee+9J4cKFzfG+ffvkiiuuMNycCAHvHOtYDrh68c3eqlpZ+yB+QQeq9cMPP1g6kEym+pS39u7da+ngsnbt2mUtX77c2rRpk7Vjxw5z3l0yzqs1YCGPzZs3m0t641jLli1zomnnWCtXrrT0hrPWr19v4joXo3Z+//13a968edb27dsjrpx11lnmGHXQARZxLbcHqOedd95p2oE0//73vy0VEqtz587Wf/7zn6Oy2b9/v3XxxRdbc+fOtdq1a2d16dLF6t69u6ViYOmNazVp0sTq0KGDpTdDRNovv/zS0hvA0pvfAsv27dtbb731VkQc94FaVNZll11mqXAY1iqI1qpVq9xRLNQFdX/uuecizud0AFbffvut4d61a1cT/d1337XGjBlj9lXAre+++87JBm1UoXSOzzvvPGcf7WnVqpVz7HXn8ccft6ZOnRqRDPlh7ESHAwcOWLfeeqt12223Waeffrp19913m2NwULGy3n77bbNhH+PLDskylrMax6gn2qbWubVkyRJz79h1x/i076GNGzda+mC19CFpX3buR+eE7qB/9cHnPnVs+6otUKtALJvvv//eeVLiaYontnauXHrppaINlnfeecc8NR5++GH54IMPRAefeZLY8omnCp5+eOrhqVi3bl2B8itQUcEw6TE96d+/v+DpjXwwJSpRooSdhfnUQSS9e/eWyZMnm/z1xpPjjz/eTFXwpLUDrJMLL7zQ1A/nRowYYZ7EOjDtKFl+4kltT8f+/ve/m6cjLB48KStXrmye2Co85umPTFAupiKwgHRwiwqlnHTSSSZ/cMFU5qabbnLKU+GVwYMHC57WKkomLcps06aNqLCZDfUEW7tNn332mQwZMkSGDx8uffr0MVPNZ5991qSHRaUCYSwMTPMaNWpkLC1wgnWjYueUHb2DuqhIGqtNb2jTr4gD61AfLMai0weCSQbrzg7Y1weMmWLinN68zj7Ou+Paabx8ghnGFfKFBWmH1atXy7333isqdnLllVeaMffII4+Y8XDOOeeYdqsgG27HHXecsdaQ9hWdqtqWWjKM5ZzGsQq/YIxVrVrV9AnGB8ZWtWrVRIVG9MEkp512mmDKWatWLTMmMb0Gk59++sncPxivdhg4cKCccsopZpzY5+LxGXexgQmKxr388sty/vn4DXoRVVvBFAU3BAJMc3veD7HJLsC8RuNhviPAX/HJJ5/IJZdcIriB4Gt54YUXYmbRr18/I0D6RHcGz9ixYwWiA5hZhYYNGzrxs4qD8y+99JJpx8KFC2X27NlGOMaNGyeYRtSvX98MdAxc23+AtjzzzDPm5sINCjMe0y/4amJNcTDQcaMMGjRIIGQ///yzuWEwmCC+8FcVK1bMiCMECzfaQw89ZPJVS8NcgyBBXCCgYA2WatGZaQ6EBeXPmTPHiI9aT/Lkk0+aKRSEC0KAPCFKF110kZn6qDUpI0eOjPBxQaQ+//xz0y5MqTC1RR3d4Z///KeULVvWnPr111/l0UcfNfsYL8cawBxTYfjGMKVF6Nmzp6nPLbfcIk2bNnWKAHP0D8ovVKhQtkKXLGM5u3FcpUoVI5JvvvmmeXCgoRCaa6+91oxJHM+aNcuMo1GjRuHQjMcWLVpInTp1zH2JhyMeEhAitBkPQ50JmLjx/BN3sUGnV69e3REaVBZ+C50yOPXGUzm7gEFjB4iULTQ4h2OdgtmXnU8IyoQJE8wx5t4YZBAW3Ej2UwoX8QTIKWT3dHenhR8Em90e1AE3O8QFNyWsMAgRfB4IyBcCDAcmOhgCAavs5ptvFp1yubM2+7Do4PyE1YEBAC6wRJDu1VdflczMTFHT2lgxGCiwBOF/Qfm4ocABVgMsn7Vr1xqHKMqHzwWDFAF+oL/85S/GkkR5OrUw5/EHIgLrCEKodrQREOQFPxDyhSUBthCp4sWLm+sQHZyPDvfdd58ZBziP+LY1CKsEgncs4cYbbzQPHzsPiLNOr4yPyD5nf0Kk4a+BhYsHXnZ+r7way3Zd7c/sxjEevLi/MC7sAJ4QKIxB+N4gsLCK7YC2w0EOXyIe3vB54sGFhwjGIWYTEOJ4h7iLDSqIKUJ0cAuI+ymOQYobzx3wJLVDmTJl7F3ziRsMU4/ogEGPpzyC7ejDtAvxExUqVapkxEf9FcZkhRDhqWsH93TBfvLjSYwpSDQDdxq0F/lg9QQ3P/hCNNu2bWscumgnAtqPm0d9GGYfAwbl2GXB4kA5uA6LBTcTplmYtiK462dOuP7YebhOGYsHZcJUh2jYVhDqB3GyA/anTZtmhA3nEB8DHcHd1+ZEnP5Ejxs7W0wbIMqwEmH1QVCzC3kxlqPrk904hvVpT8Pd6U444QRjmUJs4Ji3p9h2HAgQ+gEBD0s89HCMWYLdN3bceH3+ObGOU45YgcDqAub2dsDT3d0Ad8NhBWFaYwfceNjsweq2ShAn1qDHecCF6YwNT24E1CXaYsBgC2qA44bD6ghuYpSDfVgOOQVYE7hRswoQalgrWS3VRjOBFQELBBZTr169DBP4tjBvx3TPns5gqgcrpUKFClkVneV5+EhQH6xg2T4FWHW4kaODLgyYJyyEHxv61N5P5MMA9QIDdawbCxAC2Lhx4+jqOsd5NZadChzZyW4cw9/5/vvvRzysYNFg3MHiQcDrGbAm3eHFF180U2Ocw/jBfQMLvHbt2r7GgzvvrPbjbtnAqsDyLHwNGFQ4xoDEcfny5Y0jz10ZOOigrHhCQmBwM6DBuQlY0oVwII17Xm6nhZ8AlgOe5FiqhQjCP4L5bXaDHCYoBBFTEi8BN3GPHj2MAw7p4fvB3NctrjDjMRgwxbIDnly6ImTm1phrRwc8vfDEQVvdUxS0Y/r06cZBG50GPgmkwyf8Q2Bqz9ntuBhkbivTPp/TJywt+IFwE+DmxQIApkXoj5NPPtn45Nx5QJhgPdnWBhz5cDAjQKBhvruDrhaZp2z0g8IdJ9Y++heiHB0wvYXz1A4Ya5hW4gaDkxQ3HtLaUw08HBGSZSxnN45PPPFEM43G0j/GHvyhWGiA1WaPO7wagEUQLNJAgDAO0B8QKjtcd9118n//939mDNrnAvuM19K3PtksFRvVDcvSjneW0LAcqY5Bs6SrN5u5bv/RAWfpvNQsYaqDylKvuVl6xD6WrN0BeWLZ3A76ZLbUf2EfHvWJ5Xadglj6YpulK1xmqc+OpCJldrFcqDeEfdrSJ0HEUq1zIWoHS6Y657XUKWqpj8h67LHHzLIjGGD5Hvnr1MUsNapQWFi+V8ecpZaHhSVjnTebpVYsE6somE19M5Y6lS11Djul6aqb2QcPnMcSs1qK5rWC6CVyJ5HuYElYB5eFpejsgg6yiKVqO67O3S30jTtg+VV9O85rB+iP6AAmdv112mapPyEiCtLbAUvfeBXAHfTFR7Ms7T6X1T5Y6lTQ0imleYVA/TAmPxVak0SF0VJHqJNcLU5LfYDOcjn6GnXU1Ugnjj78zDhJprGc3ThGxVUsLV0wsVQ4zX1mNwb9hVcqkB5jRn0zR91TiAsu0f1g53HMn0eWvp0lA4iNrFwTFzGDRQDHpf2UxhMKKguFTqeAlTCsMMEZjSkFniZwkGrnCKYOsEJgwcAigQMOy63w5+BlOARMHz/88EOzWof5Mqwe+E3wRMVTxjaDo5lh2RJzbvhscgp40mFaiSkTLLZYAQ5CPBXxBETAawdYlcLTH0/56KksVizgQ4LzGi8y2kHfVzKWJKaQYANfAZy18HvAurIDnrywNDFdxhQSDktYF3bAMizOuZ2e9rXoT1gnaBuezPD/IeDJDesaFgzqirJhSaFfMFXA9NJtCWOaiqkvLFEEWGrwdcDyS/WxjNcV4DD+9NNPTduy+oMxAEaw9OIeqlWRjFVrleaREE+xQadiaoMlN9xsWE3CdIkhPgTgf4EgYVqam4D+gA/NbTa702EKgdUp+2bFDYp+Q/7R/iB3ulj7mDJhamavZuB9KEybYvmkUA4ErVq1ap7LiVV2EOdSfSxjKo23ud1iH4sTHMR4by27RYJY6XJ1LkixyVUFGIkESCAcBI6ITdxXo8JBj60kARLwSoBi45UY45MACfgiQLHxhY2JSIAEvBKg2HglxvgkQAK+CFBsfGFjIhIgAa8EKDZeiTE+CZCALwIUG1/YmIgESMArAYqNV2KMTwIk4IsAxcYXNiYiARLwSoBi45UY45MACfgiQLHxhY2JSIAEvBKg2HglxvgkQAK+CFBsfGFjIhIgAa8EKDZeiTE+CZCALwIUG1/YmIgESMArAYqNV2KMTwIk4IsAxcYXNiYiARLwSoBi45UY45MACfgiQLHxhY2JSIAEvBKg2HglxvgkQAK+CFBsfGFjIhIgAa8E/vxFTPxmRbUqzk+7eM2I8cNDYMDWzfJw6bLhaTBbemwEoC0MJOCTAAePT3BhTsZpVJh7n20ngQQSoNgkEDaLIoEwE6DYhLn32XYSSCABik0CYbMoEggzAYpNmHufbSeBBBKg2CQQNosigTAToNiEuffZdhJIIAGKTQJhsygSCDMBik2Ye59tJ4EEEqDYJBA2iyKBMBOg2IS599l2EkggAYpNAmGzKBIIMwGKTZh7n20ngQQSoNgkEDaLIoEwE6DYhLn32XYSSCABik0CYbMoEggzAYpNmHufbSeBBBKg2CQQNosigTAToNiEuffZdhJIIAGKTQJhsygSCDOBP39dIcwU0rDt+oX2eJAE0r+FCxeWffv2FQoI28GMjIzDAeXNbEmABOJNQMXmUd1SMTwabxbMLzkIcBqVHP3AWpBA2hOg2KR9F7OBJJAcBCg2ydEPrAUJpD0Bik3adzEbSALJQYBikxz9wFqQQNoToNikfRezgSSQHAQoNsnRD3lSi3vuuUdee+21PCmbhYaPQCAvfYUPY2q2+Pbbb5eOHTvK3LlzZcSIEbJmzRpp0KCBVK1aVQoWLCj58v3xLDp8+LAcPHjQXH/llVekdevWToNvu+02mThxolSpUkXy589v0mzZskWQply5cqIv+sihQ4fkt99+k9q1a8sHH3zgpOVOuAhQbMLV3xGtPemkk2TGjBnSrVs3WbZsmRQtWlTKlCkjX3/9tYn36aefyubNm+Xqq682xxdffLEUKhT54nCJEiXk2muvlSeeeMLJe8CAAbJt2zYZOnSoc27kyJHy+eefO8fcCR8Bik34+jyixcWLF5dx48aZc6tWrTKfGzdulO3bt8tnn31mrJJ69epJ2bJlzbUCBSKHDI73798fkWdWB7CWGMJLIHLkhJdD6Fr+ySefyK+//mqmOWeddZaZPtkQIDJjxowx0yZMpZYuXSo9evQwl+2plR1X/49J9u7dK1u3brVPmWP936mIc3v27HGucyecBCg24ex3+eGHH2TdunUyYcIEGThwYITYwI+Dbfjw4cYH06dPH0MJx7HCpEmTZPHixc6lFStWGB8PyrADhK1hw4b2IT9DSIBiE8JOR5N79+5tWg5BsKdIOAFL5eabb5avvvrKCA2OsWJVs2ZNEz/Wn06dOuXKZ4M8GcJLgGIT3r53Wm5PjTDVKVKkiFmZgggVK1bMiA/OV69eXdq3b++k4Q4JeCVAsfFKLI3j79y50wjMrl275MILL5SePXua1o4dO9Ysb8dqOpa458+fL88++6xzed68eQKBcp+bNWvWUStZTgLuhIIAxSYU3ZxzI/EezaZNm6RkyZJmCbxChQry+OOPm4TffvutsXhi5QJRgQVUunRp5zKsI4iQ+xzioAyG8BKg2IS3703LDxw4IIsWLZJBgwZJy5Yt5ZRTTjFWCV7MGzZsmImzevXqLJe3YQ2de+655l0bG+Xy5cvNezZ4/8YOyI8+G5tGOD8pNuHsd9NqWBoLFiwwImCvSnXu3NlYMaNGjXKmPUOGDDFvCMdChWXxVq1aRVzCG8PYGEjATYBi46YRsn0sfeON4ClTppgpDvwq8M9gyhPLGRwtIHhLGGLVokWLCHJ4yS/6RT/82wJDuAlQbELc/yeeeKIsXLjQCAPegenbt6/5d4VoJPgfKvw7A172q1SpknMZ/6IAR7L7HC42b94cX4hu4mGahXiTJ0+WZs2aOWm5Ez4CFJvw9XlEi/G/TQgQkooVK0Zcsw/wgh/+X+r++++XGjVqmNOwcmAB9evXz47mfLZp08bZz8zMFPwaA/7/qmvXrs557pAACaQJAZ22PKpbKgb+ukKajMHoZvD7bKKJ8JgESCAQAhSbQLAyUxIggWgCFJtoIjwmARIIhAAdxIFgTYpM8aJL7r5oxmN1dVlbV8wLBZK3VoUv6HjsD0YngXQmwJdm0rl3A2obp1EBgWW2JEACkQQoNpE8eEQCJBAQAYpNQGCZLQmQQCQBik0kDx6RAAkERIBiExBYZksCJBBJgGITyYNHJEACARGg2AQEltmSAAlEEqDYRPLgEQmQQEAEKDYBgWW2JEACkQQoNpE8eEQCJBAQAYpNQGCZLQmQQCQBik0kDx6RAAkERAtgN34AAB8PSURBVIBiExBYZksCJBBJgGITyYNHJEACARGg2AQEltmSAAlEEqDYRPLgUWwCRfT0Et126LZVN3xxFj636fajbgwkkCMBik2OiBhBCezVbZ1umbqV0q3Qkc+S+gnRYSABEiCBuBH4i+YESwbf0mdvOG6vGwMJkAAJxI1AQc0J0yhbaPCJY1g5DCSQIwFOo3JExAhHCBzQzzd1O3jkGJ84DuqLz48Uww8SIIEwEqivjbatG3zimIEESIAEAiHws+aKKRQ+GUgg1wQ4jco1KkY8QmCkfu7UDZ8MJEACJBAYgXKaMywbfDKQAAmQAAmQAAmQAAmQQAgJZISwzXFrckZGhqUhbvkxo5QggA6nr9NHV1FsfEBzJaHYuGCEYVcfMGgm7xsfnU2F9gGNSUiABLwToNh4Z8YUJEACPghQbHxAYxISIAHvBCg23pkxBQmQgA8CFBsf0JiEBEjAOwGKjXdmTEECJOCDAMXGBzQmIQES8E6AYuOdGVOQAAn4IECx8QGNSUiABLwToNh4Z8YUJEACPghQbHxAYxISIAHvBCg23pkxBQmQgA8CFBsf0JiEBEjAOwGKjXdmTEECJOCDAMXGBzQmIQES8E6AYuOdGVOQAAn4IECx8QGNSUiABLwToNh4Z8YUJEACPghQbHxAYxISIAHvBCg23pkxBQmQgA8CFBsf0IJO8sknn8h//vOfbIu555575NChQybOr7/+Ktu3b5dXX31VxowZk226IC8ePHhQnn76ad9FbNq0SR5//HEn/c6dOwV52gH7W7ZskehftFiwYIH06dPHjsbPJCVQIEnrFepq/f7777J3795sGXzzzTeSP39+E+f+++8XbPny5ZMiRYpkmy7IixCDN954Q+644w5fxZQrV052795t2vLYY4/J888/LwsXLpTChQsLftUA+UOAXn75ZcnMzDRl7NixQx555BEZOXKkSdu2bVupUKGCFC9e3ByDJYQbeTPkLQGKTd7yN6WvWrVKChQoYDYIxq5du+TAgQOyYcMGOXz4sNmHFVOtWjWntgULFnT2ITBly5Y1NyRO7tmzR3744QepX7++Ewf5LF261AhUrVq1TBkos1ChQsZagHD99ttvUqNGDXOTlixZ0kkLAcDNjpt+27ZtUqZMGVm7dq2JV7NmTRMP9UN6CAI+ccOjLV5D//795e677zaWGj6zC6tXr5ZbbrlFhg0bJieeeKKJOm3atOyS8FoeEuDv3xwb/Lj8btTAgQPNjYubf/ny5fL999+bm7Z27dqCDTcynuQPPPCAfPjhh/Luu+8KploXXHCB9O3bV5577jnBE33ChAmyfv16Oe200wRTC/vGQ37XXHONlC5dWkqVKmUE4/TTT5dLL73U5NG4cWOpXLmytG/fXpo1a2ZuXvd0bPjw4SbdFVdcIR07dpS6deua+kEQMX175513jMA8+OCDMnnyZLnqqqvkqaeekhIlShi6OB48eLCgzNwGiOXPP/8sRYsWNSKMdBCy/fv3m2kU6v7ll18aLqeeeqpcfvnl8v7775v4uS3DTzz+bpQfan+kodj4Z4eUcREbdxUwHYLAwLqZNGmSERf3dXu/TZs2Mm7cOLn66qtl2bJl0rt3bzP1Ovnkk6VDhw5GSCBM+/btkzPOOMNMPc4//3yTfMmSJebc2LFjjdiUL19efvzxR4HF891332UrNpUqVZKZM2dK8+bNTV4QO9TlkksuMeVDrP773//a1TSfr7/+urRu3VqOO+64iPPRBz179jT1xRSoW7dugqkixGbQoEECHxUsK4gNLKYbb7zRSX7fffeZ/EeMGGHi2wKFKRasvs2bN8vQoUPllFNOcdL43aHY+CUnwmmUf3ZxT4mbtGLFiuaGwQ0FkYAgdO7cOWZZsHamTJliphKdOnWSTz/91MSDA9X25+CGrV69uthCgwiwBNq1a+fkCYGC0GQVMAWzA+pkCw3O4RjWWHaha9eu2V12rr3wwguybt06Y601atRIsCHv6dOnS69evYxFBsvMHUaNGiUTJ06UIUOGGOF0T90gglOnTjXRo53K7jy4nxgC3ifVialX6ErB0xdWjfuJ/fDDD5vVHVguWQX3zYU4uKngXHY7it37dj5uAcH0yg62Y9U+xiecsnaAv8YdIHhbt251nzrm/SPWg8kHDODHQbjrrrtk9uzZZh9/4ERetGiR8TPhOJoFztnBnad9jp+JJUCxSSzvmKVBaG644QZz88Bhaz+FIRKYQlygvhlMqdwBfpz33ntP/vWvfzmnMcWADwVTlssuu8ycb9CggXEMz50714mHFR5YA3ZwO5tPOukkgePVDijHHde2mOzrQd7E8BXB6oJvCCJz3nnnya233mqc5igf+88884xdFX4mOQFOo/K4gxYvXizXXXedwK+BJVos9/7yyy/GKTxjxgyz8gPfDKZJWI3CytVbb70lWC3CqlP37t3lzjvvNK2oU6eOWV3COVg3EA2Ix/jx46VLly5magW/BywZHMNXEx0gdpi+4L0VCBUcvtlNsdzp4eCGFQRhaNq0qXOpYcOGMnr0aDn77LOdc1ntQGixgQHaiWkaHNBVqlQxTmxM4XCMqWX0lCqrPHmeBNKBgN4XxxbUcrBUFCIyee211yy9OSPOqcPYHKsj19IVp4hrOv2y9IU+S/0d1saNG01+usJl6eqVpcvWloqNiY/runRt9lu1amXpy4CWWg3WV199FZEf6qROYEsF0JS1cuVKE1edzda8efMi4iJP9as459SHZOrinNAd9blYOtVyn4q5r9NFS604S/1Llk4nLV2RslAXO+jUz7RNp06Wiql92tKVKWff3kFcdVrbh3H71EFrpcPAzYs2cDXq2KhjEB9bDjFSw7qB1YKVntwEvHkL5yqsAfgtsORctWpVs6KDlRksSePltmuvvdZkBwsKU6d//vOfuck+YXHefvttOfPMM83S/RdffCFw/sJfhRU1TBFhrWEaB6sO00J7SteyZUvjRLYr+tBDD5ll/yZNmpiVNft8PD65GuWfIsXGPzukDERs8OIcHLjRzli/VYUgYmoza9Ys49PBVMT26fjNM5nSffvttxEvMMJhDdF1v5gYr/pSbPyTpNj4Z4eUgYjNsVWJqYMkQLHxT5erUf7ZMSUJkIAHAhQbD7AYlQRIwD8Bio1/dkxJAiTggQDFxgMsRiUBEvBPgGLjnx1TkgAJeCBAsfEAi1FJgAT8E6DY+GfHlCRAAh4IUGw8wGJUEiAB/wQoNv7ZMSUJkIAHAhQbD7AYlQRIwD8Bio1/dkxJAiTggQDFxgMsRiUBEvBPgGLjnx1TkgAJeCBAsfEAi1FJgAT8E6DY+GfHlCRAAh4IUGw8wGJUEiAB/wQoNv7ZMSUJkIAHAhQbD7AYlQRIwD8Bio1/dkxJAiTggQDFxgMsRiUBEvBPgGLjnx1TkgAJeCDAX1fwACtG1MN6jgxjgEnjU/ihMD6k07iD2bTkIYAfCW+XPNVhTVKFABU6VXoqeepZSKuyP3mqw5qkCgGKTar0VPLUk2KTPH2RUjWh2KRUdyVFZSk2SdENqVcJik3q9Vle15hik9c9kKLlU2xStOPysNoUmzyEn8pFU2xSuffypu4Um7zhnvKlUmxSvgsT3gCKTcKRp0eBFJv06MdEtoJik0jaaVQWxSaNOjNBTaHYJAh0uhVDsUm3Hg2+PRSb4BmnZQkUm7Ts1kAbRbEJFG/6Zk6xSd++DaplFJugyDJfEiCBCAL4r2cGEvBMgJaNZ2ShTlBQW38w1ATYeN8EKDa+0YUyIadQoez2+DSaYhMfjmHJhWITlp4OoJ0UmwCgpnGWFJs07tygm0axCZpweuVPsUmv/kxoayg2CcWd8oVRbFK+C/OuARSbvGOfiiVTbFKx15KkzhSbJOmIFKkGxSZFOioZq0mxScZeSd46UWySt29YMxJIeQLVtAV4a3iPbjt1263bBt3W6zZYNwYSyBWBArmKxUhhJvCLNh4ik+mCUFT3IT781wUXFO6SAAkcO4EXNAv8mwLExd4gNhV1YyABEiCBuBFoojlt180WGvzs8JS45c6MSIAESMBF4Hfdt8UGwtPKdY27JEACJBA3Ak9pTvjZXQjOWt0ydGMgARIggbgTOEtzhKN4l27/F/fcmSEJkAAJuAjAooG/poLrHHdJIFcE8ucqFiORwB8EjtcPrEqNJBASIAESIAESIAESIAESCC8Brih46PuMjAxLg4cUjJqGBDAA+D+FPjqWYuMNGsXGG6+0i60PHLSJ942PnqVC+4DGJCRAAt4JUGy8M2MKEiABHwQoNj6gMQkJkIB3AhQb78yYggRIwAcBio0PaExCAiTgnQDFxjszpiABEvBBgGLjAxqTkAAJeCdAsfHOjClIgAR8EKDY+IDGJCRAAt4JUGy8M2MKEiABHwQoNj6gMQkJkIB3AhQb78yYggRIwAcBio0PaExCAiTgnQDFxjszpiABEvBBgGLjAxqTkAAJeCdAsfHOLOVT3HHHHbJ+PX6q++iwZs0a+d///hdxAV8Y1qFDB9m1Cz+s8Ed46aWX5JNPPrEPfX8+/vjjsmnTJpN+3759snfvXievw4cPmzL37MGPb/4ZDh06JB07dpStW7f+eZJ7SU+Av/Wd9F10bBVcunSp/Pjjj9K2bVsnoyVLlkilSpXk999/l7/97W9Srlw5+fXXX6V8+fJSsmRJqV27tpxxxhlO/GnTpkmNGjWkePHi0qtXL3niiSdk9erVUr16dSeO351mzZpJ+/btZfLkybJw4UIZOXKkFCtWTPLnzy8QFQjN9ddfL5dccolTxIMPPijXXHONlC5dWu655x5ZsWKFqTfib9myxcSHGDGQQCoTwDf1pVR48803rTZt2pg6q9Viffzxx9b5559vqYBYv/zyi9MWtXas5cuXO8funRYtWlgbNmywduzYYZ177rnWl19+ad10003W888/b82aNcts7vhe98eNG2dNnTo1x2T79++37rzzTuu5557LMW5QEXTw8nthfd7BtGx8gotXMkwVHn74YXnnnXekXr160rRpU2NBwOJo166d3HDDDTJ48GB5+eWXpW/fvjJ69GjHorjoootkzJgxZhoyfPhwOe2002TUqFFSpkwZE79w4cICKwAWzO233y56o8ratWvlwIEDouIhCxYskO+++05KlCghKiDGKoD1snv3bmnZsqVcd911MmHCBPn888+lVKlSpo6NGzcWWEbIE9YNLJAiRYoILBQ7jBgxQgoWLCi33nqrfSrbT0zRdu7cKe+9955pe6FChQRfvwk2qCuuXXDBBSaPRo0aSadOnaR3797GumnSBD9DzpAKBCg2edxL+lSXDz74QN544w2ZN2+e3HvvvdKnTx9Tq++//96IBW7aatWqmWmG26cBoYCfA76U1157TW677TZRC0Huu+8+eeihh+Tdd981NyUE44EHHpDjjz/eCNX7778vf/3rX800BWKBGxrlQpAwXbLDTz/9JPCpqGVk4sBPM2XKFClatKiZdl144YVGHO349mfDhg2NCNnHWX1COL/66itZtGiRTJw4UVatWiWZmZmi1pcRNwjvwYMHRS0qUatGKlasaIRmzpw5RowgkE8++aSZQkHcwAF1gzhBiHv27JlV0TxPAklPIO7WuVou1qRJk5x8W7dubd1///3mWG98S29I51qFChWsxYsXO8fqYzFTH0xr1O9i6Y1prs2ePduqVauW2XdPo+yEV155pXXttdea6YhaCVaXLl0stRQstYosFTZLb1RLRcxSK8hSP4qlloelImetXLnSzsIaMGCA9cUXXzjHx7KjVlFEcvXPmCkb6qBWVsS1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" alt="Alt text" longdesc="chrome-extension://kidnkfckhbdkfgbicccmdggmpgogehop/1403944998950.png" />

grunt-cli源码分析

grunt-cli/packge.json里可以看到,主入口文件是 bin/grunt。接下来,我们就分析下bin/grunt.js的源码。

"bin": {
"grunt": "bin/grunt"
},

grunt-cli源码概览

同样,我们先通过一个简单的流程图看下这个文件究竟做了什么事情。从下图可以看到,主要包含三个逻辑分支。

  1. 运行任务:主要的分支,用绿色标出,比如运行grunt copy就会进入这个分支
  2. 信息查看:右侧的一堆if/else分支,如运行grunt --version就会进入这个分支(还有其他如help等没列出来)
  3. 异常处理:非上面两种情况,异常退出。

aaarticlea/png;base64,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6v+hivXwHun4448fqTgQHf/3v/91GjZsWCAXiGowVVVVVfsd/VHbvmi+ur6/9957wc0331xXtmX2n3TSSYECrC6zPdc3PProo4EsMjLSDJEdwX777Re89tprnb/88sv2wvSo5Zdf/i31DSpwhJKZ+2TkSmT1SZYSHxbcNKuvklXOEDAEDAFDwBAwBAyBJBCoV8A/CAytbhH8+OOPwT//+U/nCtCixZK4byiDkAeaQQ8OOOCA4OWXXw40oxosWrQoqKioCP7yl78E3377bfDEE084JbOysjJYa621ApS4hgjnoy777LNPQB20xnmA8s/20tLSYO7cucGUKVOqFf3BBx8EV199tdsOkeDJjpNPPjkYOnRosPfee1fLX9sPFNbaXCHAinYnEjCRWwXxB4LWrZdY2UMqHXvssYmyu20oauR/+umng/POO8/hrFgUgVatCGjXaaed5hS5Ggtovjs2UcDLE0SEHaSVWCrV3zoOGjQo0GottSKiFVxQioPevXu7vkVm+haEmSxDgu233z52/E477RR07drV9QfKpS9+8sknAdYjvv//8ssvgeKFBL169Yodd+mllwayOAjeeuut2Db6MMeQr1u3brHt/sv9998fyDohmD59urun/vrXv/pdsc/rr78+uPvuu12d2rdv7+43f59C/smdJ7jsssuc+0fsoCz4Qr2QjTfeOKO16dGjR6Br0eqiiy5q9eSTT240bty4a3Wdb9Q9d39ZWdmNqsySimW0VnaypkcgFPHBStbm6tL018JqYAjkDgKM0xiTRd+/jAuiwruecfDixYvdWJRx6+TJkwPGdSaGgCFgCBgC6UWgVi0Qi4iPPvrIERc8qBH5ybuHOgrV22+/HTzzzDPBKaecElPkv/rqq2DnnXcORihWghcU96222ipghv2nn34K/vGPf/hdSX+i8Pfs2TMhWaAlLZ1yGi2Uc0EeYAly0EEHOSWWtqDcfvzxx0H37t2DN9980ymE0eMSfWdWGgUYJdTLnDlznDKN4kvdeImhwELAoDDznfNRZ+oBNkcddRRLcDrCRiuHBOuvv37w0ksvud+QMquvvnogywR3ipVXXjmYOHFicMsttzjs2AexhEDmEMfAJIZAB307SITHySKWuo8aNWo5kUrLrbHGGrEMdX3hOjIA2XbbbatlnT17dqyP+x30haicfvrpAYTEjTeiMycW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48M/Gttuiy228KQH25QG2klbyBMYf/75p2ORl4onbNjPfX766ae7m266ye22224OsuLKK690El/2eP3888+eMAr7yDlmuUWg8ujLbd35rS0IGmlEGvGR36tgtecWAe73v3595bZeq80QMAQMAUPAEACBZlp2xbNDehG9RG4s0KSl5S677MJkAp2FnBtvrXv16uXfSjNR4S0vk67HHnvMIfQZ2jPPPONGjRrl31YzCWTyIpLGv/1eddVV/Ztc3lgzkZMuhj+NY5gYhRMd3mSH6y+++KI799xznVz7XdeuXf0kijqlZ+KPgWB48skn/Rtm3hAzqeLNNW+PmXhikCqUv+KKK/rJmHRQ/GSLfZ9++qn74Ycf3AsvvOCyldqX+miDlha07ZFHHtlMhEiXxx9//OpmzZpNXuwJ8oCag7epWREhAPnBeGzTpo1jwo63QtQWeyAkNkFqcI8ce+yx7ttvv3UQGQqXcVOnTnWQeHiLQExAFkQNUgRiYv/99/ekCvs4BtJjgw028ERCeDz36qOPPuqaNkWnv3qD5MBzhHsRW2GFFdy//vWvSidorLp//OMfnliptGPxF/owcuRId8IJJ/gt06dPh+zz9xSESujxQdtF2npvE/53RO2dd97x9zBeM5BBX375pVtvvfU8KRQ9ztZzh0CMiQ95fLhFle++3OFuNRkC+UDAPD7ygbrVaQgYAoZAvBGA0NhZk5CDNDneYfPNN18wYsSIZXkrq215ITuil4PJ+w47EOlQ2aRpUWkDLussof3000+ub9++nrjYZpttws2JT2kQ+EkSk0bc+3GVF9njyRPSx0J28EaZN9oY+y688EInTZNEGUcddZSfQEq7wG/j84033nBnn322/87kLZXxVp4JGW+ymcDmwpiM7r777iwtmfSq7m0VIrCRJonjtO8ZETQ3qB0Pa5mfi/ZYHXVDALJNxJUnAOXJ44mP8847z+FlERokBuObkBcm8p07d/aeIYR6hKQgpBshIv/85z89kUhICZ5Cr732muvfv78vimNYGDeEkPz444+e4IO0g/SQkLEnSygf4oV7lX3cI4SlYF9//bUnMLp16+a+++47t+GGGzra8d///jdBAvoDa/EHMhEyg/9RGCE6YKFMR95j46KLLvLhNclFggseHoS5QLZw/x5xxBGe8Dj44IM9UYo3iFn+EIgv8eGCxq5B+YL8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5gpIfDR37EROgAABAgQIECBAgAABAgQIdBGQ+OgCZDcBAgQIECBAgAABAgQIECDQXAGJj+aOncgJECBAgAABAgQIECBAgACBLgISH12A7CZAgAABAgQIECBAgAABAgSaKyDx0dyxEzkBAgQIECBAgAABAgQIECDQRUDiowuQ3QQIECBAgAABAgQIECBAgEBzBSQ+mjt2IidAgAABAgQIECBAgAABAgS6CEh8dAGymwABAgQIECBAgAABAgQIEGiugMRHc8dO5AQIECBAgAABAgQIECBAgEAXAYmPLkB2EyBAgAABAgQIECBAgAABAs0VkPho7tiJnAABAgQIECBAgAABAgQIEOgiIPHRBchuAgQIECBAgAABAgQIECBAoLkCEh/NHTuREyBAgAABAgQIECBAgAABAl0EJD66ANlNgAABAgQIECBAgAABAgQINFdA4qO5YydyAgQIECBAgAABAgQIECBAoIuAxEcXILsJECBAgAABAgQIECBAgACB5gpIfDR37EROgAABAgQIECBAgAABAgQIdBGQ+OgCZDcBAgQIECBAgAABAgQIECDQXAGJj+aOncgJECBAgAABAgQIECBAgACBLgISH12A7CZAgAABAgQIECBAgAABAgSaKyDx0dyxEzkBAgQIECBAgAABAgQIECDQRUDiowuQ3QQIECBAgAABAgQIECBAgEBzBSQ+mjt2IidAgAABAgQIECBAgAABAgS6CEh8dAGymwABAgQIECBAgAABAgQIEGiugMRHc8dO5AQIECBAgAABAgQIECBAgEAXAYmPLkB2EyBAgAABAgQIECBAgAABAs0VkPho7tiJnAABAgQIECBAgAABAgQIEOgiIPHRBchuAgQIECBAgAABAgQIECBAoLkCEh/NHTuREyBAgAABAgQIECBAgAABAl0EJD66ANlNgAABAgQIECBAgAABAgQINFdA4qO5YydyAgQIECBAgAABAgQIECBAoIuAxEcXILsJECBAgAABAgQIECBAgACB5gpIfDR37EROgAABAgQIECBAgAABAgQIdBGQ+OgCZDcBAgQIECBAgAABAgQIECDQXAGJj+aOncgJECBAgAABAgQIECBAgACBLgISH12A7CZAgAABAgQIECBAgAABAgSaKyDx0dyxEzkBAgQIECBAgAABAgQIECDQRUDiowuQ3QQIECBAgAABAgQIECBAgEBzBSQ+mjt2IidAgAABAgQIECBAgAABAgS6CEh8dAGymwABAgQIECBAgAABAgQIEGiugMRHc8dO5AQIECBAgAABAgQIECBAgEAXAYmPLkB2EyBAgAABAgQIECBAgAABAs0VkPho7tiJnAABAgQIECBAgAABAgQIEOgiIPHRBchuAgQIECBAgAABAgQIECBAoLkCEh/NHTuREyBAgAABAgQIECBAgAABAl0EJD66ANlNgAABAgQIECBAgAABAgQINFdA4qO5YydyAgQIECBAgAABAgQIECBAoIuAxEcXILsJECBAgAABAgQIECBAgACB5gpIfDR37EROgAABAgQIECBAgAABAgQIdBGQ+OgCZDcBAgQIECBAgAABAgQIECDQXAGJj+aOncgJECBAgAABAgQIECBAgACBLgISH12A7CZAgAABAgQIECBAgAABAgSaKyDx0dyxEzkBAgQIECBAgAABAgQIECDQRUDiowuQ3QQIECBAgAABAgQIECBAgEBzBSQ+mjt2IidAgAABAgQIECBAgAABAgS6CEh8dAGymwABAgQIECBAgAABAgQIEGiugMRHc8dO5AQIECAwWIGTovlXDDYErRMgQIAAAQIECHQTGO12gP0ECBAgQIDArMBh8eotUf5jlPR6VZRWFAsBAgQIECBAgEBNBSQ+ajowwiJAgACB2ggsi0jeGOWdUU6NMhUlJTzSsmlm5f8ECBAgQIAAAQJ1FZD4qOvIiIsAAQIE6iBwTQRxVpSdUQ6uQ0BiIECAAAECBAgQ2DcBiY9983I0AQIECOQnUO6hyytjX9o/HcW8WXuAsosAAQIECBAgMACB9u9xEh8DkNckAQIECDRG4LyINN3q8oYo6VaXNJnp3FtddsT75VEsBAgQIECAAAECBAgQIECAAIEGCIyfVRap7H5JE5q+J8q9USajLHRc7LIQIECAAAECBAjUQcBluXUYBTEQIECAQFMEHotAL43yoignR/E420CwECBAgAABAgTqLOBWlzqPjtgIECBAoM4C/1jn4MRGgAABAgQIECAwI+CKD2cCAQIECBAgQIAAAQIECBAgMLQCEh9DO7Q6RoAAAQIECBAgQIAAAQIECEh8OAcIECBAgAABAgQIECBAgACBoRWQ+BjaodUxAgQIECBAgAABAgQIECBAQOLDOUCAAAECBAgQIECAAAECBAgMrYDEx9AOrY4RIECAAAECBAgQIECAAAECEh/OAQIECBAgQIAAAQIECBAgQGBoBSQ+hnZodYwAAQIECBAgQIAAAQIECBCQ+HAOECBAgAABAgQIECBAgAABAkMrIPExtEOrYwQIECBAgAABAgQIECBAgIDEh3OAAAECBAgQIECAAAECBAgQGFoBiY+hHVodI0CAAAECBAgQIECAAAECBCQ+nAMECBAgQIAAAQIECBAgQIDA0ApIfAzt0OoYAQIECBAgQIAAAQIECBAgIPHhHCBAgAABAgQIECBAgAABAgSGVkDiY2iHVscIECBAgAABAgQIECBAgAABiQ/nAAECBAgQIECAAAECBAgQIDC0AhIfQzu0OkaAAAECBAgQIECAAAECBAiMIiBAgAABAlkLbH3DCcXo6CnPMBg/6x3ztk1Ofqs48IZ/mrfNGwIECBAgQIAAgdoLSHzUfogESIAAAQKLKtAaWRr1f3o3bczf1ho5eTfH2ESAAAECBAgQIFBzgVbN4xMeAQIECBBYfIGdv/qDomz9/IINtcrbi+VfeumC++0gQIAAAQIECBCorYA5Pmo7NAIjQIAAgb4JlMVf7LGtbvv3+GE7CRAgQIAAAQIEBikg8TFIfW0TIECAQD0EJieuLFrFVNEqy3kBpfdpe9pvIUCAAAECBAgQaKSAxEcjh03QBAgQINBTgQNv3FCU5c1xu8v8W0DT+7Q97bcQIECAAAECBAg0UkDio5HDJmgCBAgQ6LlAa4HbXRba3vMAVEiAAAECBAgQILAYAhIfi6GqTgIECBBonsA991wft7VsnBd4ep+2WwgQIECAAAECBBorIPHR2KETOAECBAj0VODnb38qbmu5el6d6X3abiFAgAABAgQIEGisgMRHY4dO4AQIECDQc4Gp8i/m1bnr+3k7vSFAgAABAgQIECBAgAABAgQINE1g56/+oBg/qyzS2kKAAAECBAgQINB4AVd8NH4IdYAAAQIEeipQdiY5rdY9rVxlBAgQIECAAAEC/RaQ+Oi3uPYIECBAoN4CkxNXFq1yZ5HWFgIECBAgQIAAAQIECBAgQIDA0AmMn/kfhq5POkSAAAECBAgQIECAAAECBAh0FWjFEalYmi+QxnFp87uhBwQIECBAgAABAgQIECBAYP8EDj3++OM/unbt2oeWLVs2FVWVrVarTGul2QYjIyPTY2Njjx1xxBF/GmN5dBQLAQIECBAgQIAAAQIECBDIR+CQQw55zUEHHbT13HPPnf7a175Wbtu2rbQMj8D09HT57W9/u7zoooumI5k1uXLlyvPzObv1lAABAgQIECBAgAABAgSyFjjssMNOCIDypptuGp6/9PVkQYH77ruvjCt6JpcuXfqurE98nSdAgAABAgSGTsB92kM3pDpEgACBnggcsWLFirtvueWW5S972ct6UqFK6i9w9913FyeccML4jh07To1ov1f/iEVIgAABAgQIEOgu4HG23Y0cQYAAgewEXvSiF73vggsuWCbpkdfQxzwuxVVXXRUXfiz7UvT8gLx6r7cECBAgQIDAsApIfAzryOoXAQIE9kNgcnLy7HXr1rkqcD8Mm/rRs88+e+TYY4+djvjPbmofxE2AAAECBAgQmCvgl9q5Gl4TIECAQBJYGk/72BnJj5jv0o+JHE+Jq6+++sE3v/nNd0Tf/02O/ddnAgQIECBAYLgEXPExXOOpNwQIEOiFwPve+973Tkh69IKymXWcdtppz4vIf7GZ0YuaAAECBAgQIDBfwD/lzffwjgABAgRmBNLTP1hkLNBJfPk9IeNzQNcJECBAgMCwCLjiY1hGUj8IECBAgAABAgQIECBAgACBZwhIfDyDxAYCBAgQIECAAAECBAgQIEBgWAQkPoZlJPWDAAECBLoKPP7448W1114777gHHnigeP/73z9v2+7ebN68uTj33HN3t8s2AgQIECBAgACBGguM1jg2oREgQIAAgZ4KXHHFFcXBBx88r840l8WPf/zjedvSm7/9278tHnvssWLlypXF0qVLi4mJieK+++4rbrjhhmJ6erqIp94UO3bsKE455ZTimGOOecbnbSBAgAABAgQIEKiHgMRHPcZBFAQIECCwyALj4+PFN7/5zeK6664rvve97xXvec97irGxsXart912W/GOd7yj2LRpU/HCF76w+MQnPtFOeKxatapYsWJFsWTJkmJ0dLSIx/y231eJj/ThtM9CgAABAgQIECBQXwGztdd3bERGgACBQQoM3VNd1q1bV1xwwQXF2rVri3POOaf42te+Vhx44IHFww8/XPze7/1e8bnPfe4Z3pdeemlxxx13tI9LT7m5/vrri7PPPrt9tccTTzxRXHjhhcWrXvWqZ3xuGDZ4qsswjKI+ECBAgAABAknAFR/OAwIECBDIRuDzn/98cdNNN7VvV0m3rKTbVbZu3VqkeT6uvvrq9q0rL3/5y4vjjjuubZJubXnnO99ZnHjiicVTTz1V3HXXXUVKhqTlIx/5SLFt27b2a/8jQIAAAQIECBCor4DER33HRmQECBAg0EOBz372s8WXv/zl4thjjy1e+tKXFg899FC79nS7ywc/+MF2EmT79u3F8uXLZ1tNV3ls2LChePDBB9uJjzSnR3qdlieffLI918fswV4QIECAAAECBAjUUkDio5bDIigCBAgQ6LVASnSk21kuueSS4gc/+EGxevXq9tUfae6OdFtHmrcjLWeeeeZs06effnrxne98p/j6179efOUrXyl+9rOfFa9//euL888/v50gSfOBWAgQIECAAAECBOotYI6Peo+P6AgQIDAogaGb4+Ntb3tb+1aWNWvWFCeffHL7Co/777+/+PVf//VZ47e//e3tq0JmN8SLnTt3Fml+kPTI29/5nd9pzxPyz//8z8WHPvShdsJk7rE+QQC7AAADrElEQVTD9NocH8M0mvpCgAABAgTyFnDFR97jr/cECBDIRiA9yjYt9957b3Hrrbe2n8Zy6KGHFkceeeSsQXqCy9wlXSWSJjC9+OKLZx9Z+6Y3vak9L8h5551XrF+/vjjssMPmfsRrAgQIECBAgACBmglIfNRsQIRDgAABAosjkJ7ksnHjxuKkk04qTj311PaVHF/84heLH/3oR7MNPvLII+3XaS6Pj3/848VXv/rV4tOf/nTxkpe8pH21SHU7TLp65Jhjjile85rXFOn1u9/97tk6vCBAgAABAgQIECBAgAABAgTqL5BudRmqJW5Zmdefz3zmM2VcsVH+9Kc/nS2vfe1rZ4+58cYby4mJidn36bh4dO3s+/Riy5Yt5Z133jlv27C8iVO0rP9pKkICBAgQIECAQHcBc3x0N3IEAQIEchRIf7/n2O8F+5zm+khze/zSL/3SgscM0w5zfAzTaOoLAQIECBDIW0DiI+/x13sCBAgsJCDxsZBMJtslPjIZaN0kQIAAAQIZCIxk0EddJECAAAECBAgQIECAAAECBDIVkPjIdOB1mwABAgQIECBAgAABAgQI5CDgqS45jLI+EiBAgACBfRB48MEHt8XhqVgIECBAgAABAo0XkPho/BDqAAECBHousDTmd0hzfMTKVFA9121Ahd/4xjc2Rpg/bECoQiRAgAABAgQIdBVwq0tXIgcQIEAgO4GJsbGxJ2677bbsOq7DMwIf+9jHJuPV53gQIECAAAECBIZBQOJjGEZRHwgQINBjgZGRkeuvueYaz7PtsWsTqrv55pun77zzzuUR6181IV4xEiBAgAABAgS6CbiGuZuQ/QQIEMhTYM3KlSt/ePvtt684+uij8xTIsNc/+clPirjaJ/X8FVH+b4YEukyAAAECBAgMoYArPoZwUHWJAAECPRC4b3Jy8t3HHnvs1N13392D6lRRd4GU9DjppJN2xNU+H4lYJT3qPmDiI0CAAAECBPZaQOJjr6kcSIAAgbwEJiYmLo8JTi/8uZ/7ueK6666bzqv3efU23d6ydu3a7Rs3bvzD6enp9+bVe70lQIAAAQIECBAgQIAAgdwFTly2bNn9v/ALv/Djq6666oFYtqZHvliaLZDGMY1njOu9Mb4Px0l+au4nuv4TIECAAAECwylgjo/hHFe9IkCAQK8FDogKz47y76KcFOWwKJZmCzwW4f9jlCujpIlMt0axECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEXg/wMhkiVMKWrDIAAAAABJRU5ErkJggg==" alt="Alt text" longdesc="chrome-extension://kidnkfckhbdkfgbicccmdggmpgogehop/1403942988710.png" />

查看信息

如果命令行中包含--completion--version

  • 如果有--completion,输出自动完成信息,程序退出
  • 如果有--version,输出版本信息,程序退出

运行任务

  1. 命令行中是否有--gruntfile--base

    • 都有:优先将basedir设置为gruntfile指定的路径
    • 只有gruntfilebase:将basedir设置为basegruntfile指定的路径
  2. 根据basedir找到当前项目的grunt,并运行指定任务

异常处理

如果没有包含--completion--version,当前项目下也没有安装grunt,异常退出。

grunt-cli模块概览

下图为grunt-cli的整体目录机构,相对比较简单。这里做下介绍

  1. bin/grunt:主入口文件,调用其他模块来完成工作。
  2. lib/*:被bin/grunt调用,主要有如下几个模块
    • cli.js:分析、处理命令行参数。
    • completion.js:处理自动完成信息。
    • info:打印版本、帮助信息等。

aaarticlea/png;base64,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" alt="Alt text" longdesc="chrome-extension://kidnkfckhbdkfgbicccmdggmpgogehop/1403945641889.png" />

grunt-cli源码分析

首先,引入组件的依赖模块

// Especially badass external libs.
var findup = require('findup-sync'); // 文件查找
var resolve = require('resolve').sync; // 路径解析 // Internal libs.
var options = require('../lib/cli').options; // 解析后的命令行参数
var completion = require('../lib/completion'); // 自动完成
var info = require('../lib/info'); // 版本信息等
var path = require('path'); var basedir = process.cwd();
var gruntpath;

然后,根据命令行参数,决定是否要打印版本信息、自动完成信息,还是设置当前的工作路径(basedir)

// Do stuff based on CLI options.
if ('completion' in options) {
completion.print(options.completion); // 打印自动完成信息,程序退出
} else if (options.version) {
info.version(); // 打印版本信息(在本地grunt里会退出)
} else if (options.base && !options.gruntfile) {
basedir = path.resolve(options.base); // 根据 base 设置 basedir
} else if (options.gruntfile) { // 根据 gruntfile 设置 basedir
basedir = path.resolve(path.dirname(options.gruntfile));
}

最后的考验,如果能找到本地grunt,就进入最后一步;如果找不到,很有可能就异常退出了。

try {
// 得到当前目录的本地grunt路径(grunt/lib/grunt.js)
gruntpath = resolve('grunt', {basedir: basedir}); // 得到的是类似这样的路径 /Users/usename/Documents/code/edu_proj/trunk/htdocs/ke.qq.com/node_modules/grunt/lib/grunt.js
} catch (ex) {
gruntpath = findup('lib/grunt.js'); // 有可能当前在项目的子目录里,逐级往上查找,直到找到 grunt
// No grunt install found!
if (!gruntpath) { // 找不到grunt,悲剧了
if (options.version) { process.exit(); } // 打印版本信息,退出
if (options.help) { info.help(); } // 打印帮助信息
info.fatal('Unable to find local grunt.', 99); // 打印错误日志,并异常退出
}
}

恭喜,来到这一步,可以愉快地运行构建任务了。

// Everything looks good. Require local grunt and run it.
require(gruntpath).cli(); // 找到 本地grunt了,开始运行 .cli 是local grunt的方法

写在后面

本文对构建工具grunt的整体设计、运行机制,以及grunt-cli的源码进行了较为深入的分析。后续会对本地grunt的源码进行剖析,敬请期待。如有错漏,请指出。有任何疑问也可以在下面留言 :)

grunt源码解析:整体运行机制&grunt-cli源码解析的更多相关文章

  1. day1--大数据概念,hadoop介绍,hdfs整体运行机制

    1.什么是大数据 基本概念 在互联网技术发展到现今阶段,大量日常.工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经无法胜任,需求催生技术,一套用 ...

  2. ASP.NET的学习之asp.net整体运行机制

    1.浏览器向服务器发送请求报文,服务器端的软件比如是IIS,接受请求 2.IIS通过aspnet_isapi.dll 这个程序集来请求FrameWork中的ASP.Net框架,这是对于集成模式 3.进 ...

  3. 【深入ASP.NET原理系列】--ASP.NET请求管道、应用程序生命周期、整体运行机制

    微软的程序设计和相应的IDE做的很棒,让人很快就能有生产力..NET上手容易,生产力很高,但对于一个不是那么勤奋的人,他很可能就不再进步了,没有想深入下去的动力,他不用去理解整个框架和环境是怎么执行的 ...

  4. ASP.NET请求管道、应用程序生命周期、整体运行机制

    我们知道在ASP.NET中,若要对ASP.NET应用程序进行 初始化并使它处理请求,必须执行一些处理步骤,熟悉应用程序生命周期非常重要,这样才能在适当的生命周期阶段编写代码,达到预期的效果.永远不要做 ...

  5. ASP.NET整体运行机制+asp.net请求管道+页面生命周期+MVC整体运行机制原理图

    在网上找的,个人感觉很好的

  6. ASP.NET整体运行机制+asp.net请求管道+页面生命周期

  7. 源码深度解析SpringMvc请求运行机制(转)

    源码深度解析SpringMvc请求运行机制 本文依赖的是springmvc4.0.5.RELEASE,通过源码深度解析了解springMvc的请求运行机制.通过源码我们可以知道从客户端发送一个URL请 ...

  8. PULL解析XML的运行机制详解

    PULL解析简单易上手,基本上看一遍,基本上就会解析啦,但总是感觉对PULL解析的运行机制不是很了解,就总结了以下事件驱动到底是怎么执行的.. PULL: Android内置了PULL解析器.PULL ...

  9. ASP.NET运行机制原理 ---浏览器与IIS的交互过程 自己学习 网上查了下别人写的总结的很好 就转过来了 和自己写的还好里嘻嘻

    一.浏览器和服务器的交互原理 (一).浏览器和服务器交互的简单描述: 1.通俗描述:我们平时通过浏览器来访问网站,其实就相当于你通过浏览器去访问一台电脑上访问文件一样,只不过浏览器的访问请求是由被访问 ...

随机推荐

  1. MySQL核心之双一原则

    所谓的双一就是指: sync_binlog=; innodb_flush_log_at_trx_commit= innodb_flush_log_at_trx_commit和sync_binlog这两 ...

  2. MySQL数据库的安装与基本操作

    实验要求: 1.安装mysql源码包,并做相关的配置和优化路径,启动服务. 步骤: 1)先查询MySQL软件的安装情况,如果有建议将其卸载, 2)安装光盘自带的ncurses-devel包. 3)My ...

  3. Oracle 导出用户下的所有索引创建语句

    SELECT dbms_lob.substr(dbms_metadata.get_ddl('INDEX', INDEX_NAME))||';'  from dba_indexes where owne ...

  4. 深入浅出Web开发——Fiddler

    环境配置: 如果使用Chrome,Fiddler无法捕捉HTTP请求信息,请检查Chrome是否使用SwitchyOmega插件.

  5. 【Alpha 冲刺】 7/12

    今日任务总结 人员 今日原定任务 完成情况 遇到问题 贡献值 胡武成 建立数据库 已完成 孙浩楷 完成作业列表界面 已完成 胡冰 完成作业展示页面 已完成 练斐弘 完成课件列表页面 未完成 时间不够 ...

  6. 4、url控制系统

    第1节:简单配置 参考代码: from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/ ...

  7. PhpStorm破解版及使用教程

    本文引自网络,仅供本人学习使用之用,感谢网友的分享 PhpStorm  PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提 ...

  8. gatewayworker中使用tcp协议连接硬件设备获取数据报错解决办法!

    运行后过段时间报错, Warning: Error while sending STMT_PREPARE packet. PID=1776 in D:\phpStudy\WWW\api\mysql-m ...

  9. python之生成随机测验试卷

    自己又开始懒散的态度生活,所以几乎有两个月没有更博了. 项目:美国各州首府地理考试,为防止作弊,35份试卷,50道题随机次序,生成独一无二的试卷. 基本想法: 1.将各州首府的地方和首府写入列表,以K ...

  10. 服务发现系统etcd之安装和使用

    一.概述 etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现.etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致 ...