7

我需要实现一个自定义的 Grunt 任务,我完全迷失了开发工作流程。

  1. 如何开发自定义任务并在开发过程中使用 npm 模拟加载它?
  2. 是否有任何其他方式来分发自定义任务而不是使用npm?我的意思是,我可以分发定义整个自定义 Grunt 任务的 JavaScript 文件并将其Gruntfile.js直接导入吗?

由于整个任务将处于非常早期的开发阶段,因此发布它的努力可能npm不是一个好主意。

提前致谢。

4

1 回答 1

22

自定义 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-initgrunt-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 任务。

于 2013-06-13T08:13:53.417 回答