Looking for gruntjs Answers? Try Ask4KnowledgeBase
Looking for gruntjs Keywords? Try Ask4Keywords

gruntjs開始使用gruntjs


備註

本節概述了gruntjs是什麼,以及開發人員可能想要使用它的原因。

它還應該提到gruntjs中的任何大型主題,並鏈接到相關主題。由於gruntjs的文檔是新的,您可能需要創建這些相關主題的初始版本。

版本

發布日期
0.3.0 2012-07-30
0.4.0 2013年2月17日
0.4.1 2013年3月12日
0.4.2 二〇一三年十一月二十零日
0.4.3 2014年3月6日
0.4.4 2014-03-13
0.4.5 2014年5月11日
1.0.0 2016年4月4日
1.0.1 2016年4月5日

救命

運行grunt -h以查看以下內容:

  • 命令行參數
  • 當前目錄的Gruntfile中的所有可用獨立任務
  • 當前目錄的Gruntfile中每個任務組的所有子任務

安裝Grunt

Prerequesites

Grunt需要安裝Node.js和npm。如果您的計算機上沒有安裝Node.js和/或npm,請訪問https://nodejs.org並下載適用於您的操作系統的安裝程序或軟件包。

首次安裝

如果您是第一次安裝Grunt,則首先必須全局安裝Grunt命令行界麵包grunt-cli

npm install -g grunt-cli

這將全局安裝Grunt的命令行界面,以便您可以在項目中運行本地版本的Grunt。

您可以通過運行以下命令來驗證是否已安裝grunt-cli 軟件包:

grunt --version
 

這應該打印至少當前版本的grunt-cli 包。

在項目中安裝Grunt

grunt-cli 啟動並運行之後,您可以安裝實際的grunt 任務運行器和您的第一個Grunt包grunt-contrib-jshint

npm install grunt --save-dev
npm install grunt-contrib-jshint --save-dev

這將從NPM包管理器下載包,並將它們作為devDependencies 保存到package.json 文件中。

Gruntfile

接下來,您需要在項目根目錄中使用Gruntfile.js 作為Grunt任務的配置文件:

module.exports = function(grunt) {

    grunt.initConfig({
        jshint: {
            files: ['Gruntfile.js'],
        }
    });

    grunt.loadNpmTasks('grunt-contrib-jshint');


    grunt.registerTask('default', ['jshint']);
};

這個文件做了三件事:

  1. 它告訴Grunt從NPM包加載grunt-contrib-jshint 任務
  2. 它建議jshint 任務針對文件Gruntfile.js 運行
  3. 它創建一個名為default 的Grunt任務來運行jshint 任務

跑咕嚕聲

設置項目後,可以通過調用以下命令運行Grunt的default 任務:

grunt

這會激活運行本地grunt grunt-cli ,它會查找名為default 的Grunt任務,該任務被配置為運行名為jshint 的任務。

運行任務

配置中的任務

grunt.initConfig 所有屬性都是有效的任務,因此如果您的Gruntfile如下所示:

module.exports = function(grunt) {

    grunt.initConfig({
        jshint: {
            files: ['Gruntfile.js'],
        }
    });

    grunt.loadNpmTasks('grunt-contrib-jshint');


    grunt.registerTask('default', ['jshint']);
};
 

shell命令$ grunt jshint 將運行jshint 任務。

有目標的任務

任務可以有不同的目標。以這段代碼為例:

    grunt.initConfig({
        jshint: {
            gruntfile: {
                files: ['Gruntfile.js']
            },
            project: {
                files: 'src/**/*.js'
            }
        }
    });
 

在這裡,jshint可以定位項目的gruntfile或所有JavaScript文件。如果我們運行$ grunt jshint ,將使用兩個目標,但是如果我們運行$ grunt jshint:gruntfile ,則$ grunt jshint:gruntfile 將僅應用於gruntfile。

註冊任務

註冊的默認任務如grunt.registerTask('default', ['jshint']); 將使用shell命令$ grunt

新註冊的任務將作為命令行參數傳遞給grunt。例如:

grunt.registerTask('gruntfile', ['jshint:gruntfile']);
 

將與$ grunt gruntfile