自定义grunt任务命名约定

时间:2015-03-09 14:20:23

标签: javascript node.js plugins gruntjs

是否有任何关于命名包含多个单词的自定义grunt任务的约定?例如:grunt-json-schema grunt插件有json_schema task。一个名称包含短划线(-),另一个名称包含下划线(_)。

显然,虚线名称不能用作JavaScript对象键:

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

它们必须用引号括起来:

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

我检查了所有官方插件(grunt-contrib-*),但它们都只包含一个单词。这个问题的动机很简单:我只想遵循惯例。

2 个答案:

答案 0 :(得分:0)

我认为一般惯例是将camelCase用于由多个单词组成的任务。

答案 1 :(得分:-1)

简答:插件/自定义任务名称不必与特定的配置对象名称相关联。

Grunt.js api允许使用method grunt.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);
});