簡體   English   中英

自定義grunt任務命名約定

[英]custom grunt task naming convention

是否有關於命名包含多個單詞的自定義grunt任務的約定? 例如: grunt-json-schema grunt插件具有json_schema task 一個名稱包括破折號( - ),另一個名稱包括下划線( _ )。

顯然,虛線名稱不能用作JavaScript對象鍵:

grunt.initConfig({
    json-schema: { // WON'T work

它們必須用引號引起來:

grunt.initConfig({
    'json-schema': { // will work

我檢查了所有官方插件( grunt-contrib-* ),但它們都只包含一個字。 這個問題的動機很簡單:我只想遵循約定。

我認為一般約定是將camelCase用於包含多個單詞的任務。

簡短答案:插件/自定義任務名稱不必與特定的配置對象名稱相關。

Grunt.js api允許使用grunt.config 方法訪問config對象。 任務和插件可以訪問整個對象,而不僅僅是與名稱相關的子對象。

例如,我可以創建一個名為foo的任務,該任務可以從bar訪問配置:

grunt.initConfig({
    bar: {
        baz: true
    }
});

grunt.registerTask('foo', 'example custom task', function () {
    var config = grunt.config('bar');
    grunt.log.ok(config);
});

最佳實踐:插件開發人員應為他們的配置對象命名密鑰,類似於插件名稱本身。 這有助於減輕與其他可能引用類似插件的插件的沖突。

grunt.initConfig({
    foo: {
        baz: true
    }
});

grunt.registerTask('foo', 'example custom task', function () {
    var config = grunt.config('foo');
    grunt.log.ok(config);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM