是否有任何关于命名包含多个单词的自定义grunt任务的约定?例如:grunt-json-schema grunt插件有json_schema
task。一个名称包含短划线(-
),另一个名称包含下划线(_
)。
显然,虚线名称不能用作JavaScript对象键:
grunt.initConfig({
json-schema: { // WON'T work
它们必须用引号括起来:
grunt.initConfig({
'json-schema': { // will work
我检查了所有官方插件(grunt-contrib-*
),但它们都只包含一个单词。这个问题的动机很简单:我只想遵循惯例。
答案 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);
});