Grunt:自定义任务开发的方法

时间:2013-06-12 19:17:48

标签: javascript node.js build npm gruntjs

我需要实现一个自定义的Grunt任务,我对开发工作流程绝对不知所措。

  1. 我如何开发自定义任务,并在开发过程中模拟使用npm加载它?
  2. 是否有其他方式分发自定义任务而不是使用npm?我的意思是,我可以分发定义整个自定义Grunt任务的JavaScript文件并将其直接导入Gruntfile.js吗?
  3. 由于整个任务将处于非常早期的开发阶段,因此在npm中发布它的努力可能不是一个好主意。

    提前致谢。

1 个答案:

答案 0 :(得分:21)

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