自定义grunt任务命名约定
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义grunt任务命名约定相关的知识,希望对你有一定的参考价值。
是否有关于命名包含多个单词的自定义grunt任务的约定?例如:grunt-json-schema grunt插件有json_schema
task。一个名字包括破折号(-
),另一个名字包括下划线(_
)。
显然,dashed-name不能用作javascript对象键:
grunt.initConfig({
json-schema: { // WON'T work
它们必须用引号括起来:
grunt.initConfig({
'json-schema': { // will work
我检查了所有官方插件(grunt-contrib-*
),但它们都只包含一个单词。这个问题的动机很简单:我只想遵循惯例。
答案
我认为一般惯例是使用camelCase
来处理由多个单词组成的任务。
另一答案
简答:插件/自定义任务名称不必与特定的配置对象名称相关联。
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);
});
以上是关于自定义grunt任务命名约定的主要内容,如果未能解决你的问题,请参考以下文章