我需要实现一个自定义的 Grunt 任务,我完全迷失了开发工作流程。
- 如何开发自定义任务并在开发过程中使用 npm 模拟加载它?
- 是否有任何其他方式来分发自定义任务而不是使用
npm
?我的意思是,我可以分发定义整个自定义 Grunt 任务的 JavaScript 文件并将其Gruntfile.js
直接导入吗?
由于整个任务将处于非常早期的开发阶段,因此发布它的努力可能npm
不是一个好主意。
提前致谢。
我需要实现一个自定义的 Grunt 任务,我完全迷失了开发工作流程。
npm
?我的意思是,我可以分发定义整个自定义 Grunt 任务的 JavaScript 文件并将其Gruntfile.js
直接导入吗?由于整个任务将处于非常早期的开发阶段,因此发布它的努力可能npm
不是一个好主意。
提前致谢。
自定义 grunt 任务基本上是可以发布到 npm 注册表的节点模块。看看现有的,以及如何在此处构建它们的文档:
http://gruntjs.com/api/grunt.task
基本上你只是做这样的事情:
module.exports = function (grunt) {
// or use grunt.registerMultiTask
grunt.registerTask('your-taskname', 'your task description', function () {
});
};
为了方便您,您应该将grunt-init与grunt-init-gruntplugin 一起使用,它基本上为您设置了一切!
如果您不想将模块发布到 npm,您可以从 git 存储库(例如使用 github)将其安装到您的项目中:
$ npm install git+https://github.com/your-user/your-repository --save
--save 选项将其作为依赖项自动保存到项目 package.json 中。
如果您只想在项目中包含一个 js 文件和您的任务,请将其放在您选择的目录中(我在这里使用 grunt-tasks),然后将其包含在您的 gruntfile 中,如下所示:
grunt.loadTasks("./grunt-tasks");
这将尝试将该目录中的每个 js 文件包含为 grunt 任务。