我有一个包含大量繁重任务的项目,这些任务基本上正在构建一个功能齐全的 Assets 管道(转换、源映射、缩小、md5 文件名愿景)。大多数任务都是我在 github 上找到的开源任务,但也有一些任务是我刚刚用 grunt.registerTask
“内联”的。
现在我想创建第二个也使用此任务的项目,但我找不到如何为使用其他任务的 Grunt 创建 npmTask 的正确方法,因为它就像 Grunt 从未为此设计一样。如何创建这样的东西?也许 github 上有一些项目做了类似的事情,我可以看看他们的设计?
最佳答案
您需要创建并加载自己的 grunt 任务 - 实际上非常简单。
创建任务 - 官方文档有一个调用另外两个任务的示例:http://gruntjs.com/creating-tasks#custom-tasks 。将以下内容放入您的
Gruntfile
中:grunt.registerTask('hello', function() { grunt.log.write('hello'); grunt.task.run(['task1', 'task2']) });
然后通过一些包装器代码将该任务移动到其自己的文件和文件夹中(例如
tasks/hello.js
)'use strict'; module.exports = function(grunt) { grunt.registerTask('hello', function() { grunt.log.write('hello'); grunt.config.set('task1.opt1', 1234); grunt.task.run(['task1', 'task2']) }); };
然后加载
Gruntfile.js
中的任务文件夹grunt.loadTasks('tasks');
关于javascript - 咕噜声 : abstracting away some tasks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34509720/