摘要:世界的構(gòu)建工具為何要用構(gòu)建工具一句話自動化。由于擁有數(shù)量龐大的插件可供選擇,因此,你可以利用自動完成任何事,并且花費最少的代價。要想使用,首先必須將安裝到全局環(huán)境中,使用的進行安裝。
你沒有理由不學(xué)、不用! jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,
grunt是一套前端自動化工具,一個基于nodeJs的命令行工具,一般用于:壓縮文件,合并文件,簡單語法檢查。
GRUNT JavaScript 世界的構(gòu)建工具
一句話:自動化。對于需要反復(fù)重復(fù)的任務(wù),例如壓縮(minification)、編譯、單元測試、linting等,自動化工具可以減輕你的勞動,簡化你的工作。當你在 Gruntfile 文件正確配置好了任務(wù),任務(wù)運行器就會自動幫你或你的小組完成大部分無聊的工作。
為什么要使用Grunt?Grunt生態(tài)系統(tǒng)非常龐大,并且一直在增長。由于擁有數(shù)量龐大的插件可供選擇,因此,你可以利用Grunt自動完成任何事,并且花費最少的代價。如果找不到你所需要的插件,那就自己動手創(chuàng)造一個Grunt插件,然后將其發(fā)布到npm上吧。
可用的Grunt插件你所需要的大多數(shù)task都已經(jīng)作為Grunt插件被開發(fā)了出來,并且每天都有更多的插件誕生。插件列表頁面列出了完整的清單。
Grunt和 Grunt 插件是通過 npm 安裝并管理的,npm是 Node.js 的包管理器。
提前感受一下 Grunt 吧!
安裝 grunt 雖然很簡單,更多涉及到如何運行項目。看看下面的演示
“CLI”被翻譯為“命令行”。要想使用grunt,首先必須將grunt-cli安裝到全局環(huán)境中,使用nodejs的“npm install…”進行安裝。
輸入:**npm install -g grunt-cli**
注意,mac os 系統(tǒng)、部分linux系統(tǒng)中,在這句話的前面加上“sudo ”指令。
像介個樣子呢 就是安裝成功了
第三步 創(chuàng)建一個簡單的網(wǎng)站
藍后,重點來了,增加倆個文件夾
package.json增加點內(nèi)容
“devDependencies”是什么意思?字面意思解釋是“開發(fā)依賴項”,即我們現(xiàn)在這個系統(tǒng),將會依賴于哪些工具來開發(fā)。現(xiàn)在代碼一行都沒有寫,依賴于誰?誰也不依賴!所以,就先寫一個空對象。但是下文會慢慢把它填充起來
第四步 安裝grunt輸入**npm install grunt --save-dev**
運行完后 有倆個地方會發(fā)生改變
第一個 ** "grunt": "^1.0.1",**
第二個 **多了一個文件夾**
然后你在控制臺運行“grunt”命令。
如果你得到一個warning提示,那說明grunt已經(jīng)起作用了。如下圖:
如果出現(xiàn)這個,說明grunt已經(jīng)在這個目錄下成功安裝。
那么,為何我們在剛才執(zhí)行g(shù)runt時候會有Warning提示呢?根據(jù)提示,我們得知的信息是:Task “default” not found ,如何搞定這個問題?——當然是繼續(xù)往下看啊。
//包裝函數(shù) module.exports = function (grunt) { //任務(wù)配置,所有插件的配置信息 grunt.initConfig({ //獲取 package.json 的信息 pkg: grunt.file.readJSON("package.json"), }); //告訴grunt當我們在終端中輸入grunt時需要做什么 注意先后順序 grunt.registerTask("default", ["jshint","uglify","watch"]); };
grunt集全世界web前端開發(fā)的智慧于一身,比你想想的更加強大,它的插件庫能應(yīng)對你在web前端開發(fā)遇到的任何事情。
第六步 使用grunt插件1.使用uglify插件(壓縮javascript代碼)
輸入**npm install grunt-contrib-uglify --save-dev**
看出來我上圖哪里錯了么,uglify 打成uplify ,還連著打錯三四遍真是造孽哇,真的是要被自己蠢哭3W遍,你們命令單詞可一定要看清楚哦
命令執(zhí)行完之后 看下圖
多了個 "grunt-contrib-uglify": "^3.0.1"
我們既然要使用uglify來壓縮javascript代碼,當然得創(chuàng)建一個js文件來做實驗。我們在現(xiàn)有的“src”文件夾中新建一個“test.js”,并隨便寫一些代碼
測試文件建立好了。我們接下來就要把這個js文件進行壓縮。
當然,要壓縮誰?往哪里壓縮?這些都需要配置,在Gruntfile.js中配置。分為三步:
第一步,在grunt.initConfig方法中配置 uglify 的配置參數(shù)。如下圖:
//包裝函數(shù) module.exports = function (grunt) { //任務(wù)配置,所有插件的配置信息 grunt.initConfig({ //獲取 package.json 的信息 pkg: grunt.file.readJSON("package.json"), //uglify插件的配置信息:用來壓縮javascript文件 uglify: { options: { stripBanners: true, banner: "/*! <%= pkg.name %> */ /*! <%= pkg.version %> <%= grunt.template.today("yyyy-mm-dd") %> */ ", }, build: { src: "src/test.js", dest: "build/<%= pkg.name%>-<%= pkg.version%>.js.min.js" } }, }); };
第二步,在 grunt.initConfig 方法之后,要讓grunt去加載這一個插件。光配置了,不加載上,如何用啊?
//告訴grunt我們將使用插件 grunt.loadNpmTasks("grunt-contrib-uglify"); //告訴grunt當我們在終端中輸入grunt時需要做什么 注意先后順序 grunt.registerTask("default", ["uglify");
在控制臺中運行g(shù)runt命令,并可以去build文件目錄下查看是否有一個被壓縮的js文件
以上就是uglify插件的詳細安裝、配置說明。Javascript使用uglify壓縮,css可使用cssmin插件壓縮。安裝、配置方法一樣的,不再贅述。
今天就寫到這里吧
本寶寶情緒不佳
等心情變美麗了繼續(xù)接著寫
嗚哇 下班要去吃小龍蝦才能拯救我這顆不美麗的小心臟
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/50831.html
摘要:世界的構(gòu)建工具為何要用構(gòu)建工具一句話自動化。由于擁有數(shù)量龐大的插件可供選擇,因此,你可以利用自動完成任何事,并且花費最少的代價。要想使用,首先必須將安裝到全局環(huán)境中,使用的進行安裝。 你沒有理由不學(xué)、不用! jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt, grunt是一套前端自動化工具,一個基于nodeJs的命令行工具,一般用于:...
摘要:簡介前端發(fā)展迅速,開發(fā)者富有的創(chuàng)造力不斷的給前端生態(tài)注入新生命,各種庫框架工程化構(gòu)建工具層出不窮,眼花繚亂,不盲目追求前沿技術(shù),學(xué)習(xí)框架和庫在滿足自己開發(fā)需求的基礎(chǔ)上,然后最好可以對源碼進行調(diào)研,了解和深入實現(xiàn)原理,從中可以獲得更多的收獲隨 showImg(https://segmentfault.com/img/remote/1460000016784101?w=936&h=397)...
摘要:所以它在某些程度上,跟的功能有些相同。嚴格上講,模塊化不是他強調(diào)的東西,他旨在規(guī)范前端開發(fā)流程。更是明顯強調(diào)模塊化開發(fā),而那些文件壓縮合并預(yù)處理等功能,不過是他附帶的功能。 1. webpack 是什么? showImg(https://segmentfault.com/img/remote/1460000012293461); 先來說一下 webpack 是什么。 webpack 的...
閱讀 2618·2021-09-28 09:36
閱讀 2228·2021-09-07 09:58
閱讀 1494·2019-08-26 13:53
閱讀 1275·2019-08-23 17:53
閱讀 3023·2019-08-23 15:34
閱讀 1850·2019-08-23 15:34
閱讀 2864·2019-08-23 12:04
閱讀 3717·2019-08-23 10:56