Grunt的option API被用來在多個任務之間共享參數(shù)、訪問命令行中設置的參數(shù)。
一個簡單的案例就是為一個目標(target)指定一個用于區(qū)別開發(fā)期還是過渡期的標志。在命令行中:grunt deploy --target=staging
會讓grunt.option('target')
返回"staging"
。
下面這個 Gruntfile
案例展示了如何使用 target
選項:
grunt.initConfig({
compass: {
dev: {
options: {
/* ... */
outputStyle: 'expanded'
},
},
staging: {
options: {
/* ... */
outputStyle: 'compressed'
},
},
},
});
var target = grunt.option('target') || 'dev';
grunt.registerTask('deploy', ['compass:' + target]);
當你執(zhí)行 grunt deploy
時,你的樣式表將默認為dev
目標并且輸出易于閱讀的CSS格式代碼。如果你運行 grunt deploy --target=staging
,staging
目標會被執(zhí)行,輸出壓縮之后的CSS。
grunt.option
還可以在task中使用,如下:
grunt.registerTask('upload', 'Upload code to specified target.', function(n) {
var target = grunt.option('target');
// do something useful with target here
});
grunt.registerTask('deploy', ['validate', 'upload']);
注意,boolean參數(shù)可以僅指定key,而省略value。例如,在命令行執(zhí)行 grunt deploy --staging
將會使grunt.option('staging')
返回 true
。
獲取或設置一個選項。
grunt.option(key[, val])
boolean類型的選項可以通過在 key
前添加 no-
來取消。案例如下:
grunt.option('staging', false);
var isDev = grunt.option('no-staging');
// isDev === true
初始化 grunt.option
。如果省略 initObject
,option將被初始化為一個空對象,否則將被設置為initObject
。
grunt.option.init([initObject])
將所有參數(shù)作為命令行參數(shù)數(shù)組返回。
grunt.option.flags()
更多建議: