首頁 > web前端 > js教程 > 使用Grunt.js管理你專案的應用說明_基礎知識

使用Grunt.js管理你專案的應用說明_基礎知識

WBOY
發布: 2016-05-16 17:35:35
原創
1144 人瀏覽過

Grunt.js是什麼?
Grunt.js是一個Javascript Task Runner(Javascript任務執行器),其基於NodeJS,可用於自動化建置、測試、產生文件的專案管理工具。

Grunt.js並不是只是建置工具,實際上他只是任務運行器,管理每個子任務的自動化運行,我們還能使用他做更多東西。
 

為什麼要用Grunt.js?
簡單的說:為了自動化。
對於前端項目,例如:

•為了明確模組分工,我們可能會將Javascript程式碼拆成很小很小的一個個js文件,但是我們知道,在最終頁面上,我們知道過多的js文件會產生過多的Http Request ,這不利於頁面優化。所以我們可能希望可以合併這些js檔案的工具。
•為了用戶端請求的檔案盡量小,我們希望我們的HTML、Javascript等檔案能進行壓縮。
•我們可能需要對原始程式碼進行一些單元測試和迴歸測試。
•我們可能希望有工具能夠透過原始碼備註自動產生文檔,免得手動再寫文檔。
•……
很明顯,這一切都有各種各樣的小工具能幫我們做到,但是我們希望最好能輸入一個命令,打開一個程序,或者乾脆每次修改文件保存後自動進行這一切事情。

以前我們可能使用NodeJS自己寫一個build程序,但是現在Grunt.js能夠提供我們需要的一切。

安裝Grunt.js
Grunt.js 0.4之後,其不再使用全域方式安裝整個Grunt.js,而是在全域安裝Grunt.js Client,然後在目前專案中安裝Grunt,來避免未來不同項目對Grunt不同版本的依賴關係。

如果安裝了先前的版本,可以使用npm的指令來刪除掉原來的Grunt.js。

npm uninstall -g grunt
然後安裝Grunt.js Client:

npm install -g grunt-cli
 

package.json
package.json是專案的設定文件,有一些專案的依賴訊息,以及作者、版本等資訊。我們先寫一個簡單的package.json。

複製程式碼 程式碼如下:

{
"  "🎜>

{
"  "name" ",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "0.4.1"
  }
}}

🎜>

name屬性,表示該項的名字。


version屬性,則是該項目的版本號。

devDependencies屬性,則包含該項目的依賴,目前我們的依賴只有grunt,以及版本為0.4.1。
在終端大概包含該package.json的目錄,輸入指令:

npm install我們會發現,目錄此時多了一個node_modules資料夾,裡面有個grunt資料夾,這個就是我們安裝在專案的Grunt.js。

用Grunt.js進行壓縮js程式碼


grunt-contrib-uglify是Grunt.js的一個任務模組,其基於著名的js壓縮工具uglify,進行js壓縮任務。

首先我們在專案依賴加上grunt-contrib-uglify,package.json如下:複製程式碼

程式碼如下:


{
  "name": "my-project",
  "version": "0.1.0",
  "devDependencies": {
: "~0.4.1",
    "grunt-contrib-uglify": "~0.2.0"
  }
}


再使用:

}


再使用:

npm install我們就安裝了grunt-contrib-uglify了。 寫Gruntfile.js
複製程式碼 程式碼如下:

module.exports = function(grunt) {

// grunt
grunt.initConfig({
uglify: {
options: {
) 🎜>}, ビルド: {
src: ' src/core.js '、//ソースファイルを圧縮するには、*src/*などのパスを表すこともできます
// "uglify" プラグイン タスクをロードします
grunt.loadNpmTasks('grunt-contrib-uglify');

// デフォルトで実行する必要があるタスクを定義します
grunt.registerTask('default', ['uglify']);

};


Gruntfile.js ファイルは、タスク、タスク グループの実行順序などを定義するために使用されます。上記のファイルでは、src/core.js ファイルを圧縮して dst/core.js に出力することを定義しています。次に、次のコマンドを入力します:


grunt

はこのタスクを自動的に完了します。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板