Gruntjs Grunt任务和Grunt插件之间有什么区别?

Gruntjs Grunt任务和Grunt插件之间有什么区别?,gruntjs,Gruntjs,GruntJS的文档非常节俭。这里有一个关于创建任务的小节,还有一个关于创建插件的小节 如果我想创建一个新东西(而不是使用像jslint这样的现有东西),那么我是在创建任务还是插件?插件只是创建可重用任务并将其发布到npm的约定。如果您不需要将它们发布到npm,那么您也可以使用 grunt.registerTask('alphabetize', 'description', function(arr) { /// ... }); 无论是在gruntfile.js中创建任务,还是将其封装

GruntJS的文档非常节俭。这里有一个关于创建任务的小节,还有一个关于创建插件的小节


如果我想创建一个新东西(而不是使用像
jslint
这样的现有东西),那么我是在创建任务还是插件?

插件只是创建可重用任务并将其发布到npm的约定。如果您不需要将它们发布到npm,那么您也可以使用

grunt.registerTask('alphabetize', 'description', function(arr) {
    /// ...
});
无论是在gruntfile.js中创建任务,还是将其封装在插件中,都需要编写任务。在插件中,它只是封装了该任务

module.exports(function(grunt) {
    grunt.registerTask('alphabetize', 'description' function(arr) {
        // ...
    });
});

把一个插件想象成另一个
grunfile.js
,它与自己的
package.json
位于不同的文件夹中。它与
Gruntfile.js做的事情相同,但更具可重用性。

我从未阅读过GruntJS文档,但理解了这个常用词,我非常确定任务执行插件。如果没有插件,就没有任务。任务可以在没有插件的情况下存在。没有任务插件是无用的。GrunFile.js与插件的工作方式相同,因此它本身可以被视为
默认的
插件。如果您手动调用插件中的帮助函数或其他插件中的某个函数,那么插件在没有任务的情况下可能会很有用。好的,如果我想写一些东西,例如,按字母顺序排列文本文件,我要写的是一个插件。当我在
grunfile.js
中使用此插件时,这是一项任务?好的。。。差一点就搞定了。
NodeJS
可以通过
require()
语句(?)使用插件,当这样的时候,我们称任务为插件。不完全是这样。使用
grunt.registerTask()
grunt.registerMultiTask()
定义任务。插件只是另一个gruntfile,它也可以(可选)注册自己的任务。是的,grunt将使用
require()
包含插件,就像它使用
require()
包含gruntfile一样。好的。。。NPM注册表中的内容是任务。插件是。。通过
grunfile.js
定义的预定义任务组。