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

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

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

由于整个任务将处于一个非常早期的发展阶段,所以用npm来发布它的努力可能不是一个好主意。

提前致谢。

定制的grunt任务基本上是可以发布到npmregistry的节点模块。 看看现有的和文件如何在这里build立它们:

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文件和你的任务,把它放在你select的目录下(我在这里使用grunt-tasks),并将它包含在你的grunt文件中:

 grunt.loadTasks("./grunt-tasks"); 

这将试图将该目录中的每个js文件都包含在grunt任务中。