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

Mat*_*zer 7 javascript build node.js npm gruntjs

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

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

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

提前致谢.

her*_*w78 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 () {
  });
};
Run Code Online (Sandbox Code Playgroud)

为了方便你,你应该使用grunt-initgrunt-init-gruntplugin,它基本上可以为你设置一切!

如果您不想将模块发布到npm,可以从git存储库(例如使用github)将其安装到项目中:

$ npm install git+https://github.com/your-user/your-repository --save
Run Code Online (Sandbox Code Playgroud)

--save选项将其作为依赖项自动保存到项目package.json中.

如果您只想在项目中包含单个js文件,请将其放在您选择的目录中(我在这里使用grunt-tasks),并将其包含在您的gruntfile中:

grunt.loadTasks("./grunt-tasks");
Run Code Online (Sandbox Code Playgroud)

将尝试将该目录中的每个js文件包含为grunt任务.