我在Visual Studio中使用gulp作为客户端构建工具仅。
我有很多在各种项目中都很常见的任务,因此我将它们移到单独的文件中,并在项目gulpfile.js
中引用它们,如下所示:
require("../path/to/task/files/fooCommon.js"); // has a task called "fooCommon"
然后在gulpfile.js
我将它包装在一个任务中:
gulp.task("foo", ["fooCommon"], function () { });
这很好用,我可以跨项目重用常见任务。
但是,有些任务需要只能在gulpfile.js
- 中访问的配置如何将它们作为参数传递给任务?
答案 0 :(得分:4)
有两件事情浮现在脑海中。第一个是创建任务而不是fooCommon.js
,它可以创建一个可用作gulp
插件的东西,然后使用它,你只需将配置参数传递给插件。如果在这种情况下不适合,那么您可以将任务逻辑移动到包装函数中,例如
module.exports = function(gulp, config){
gulp.task("fooCommon", function () {
// Use the config here
});
};
// Define whatever config you need
var gulp = require('gulp');
var config = {...}
var taskCreator = require('../path/to/task/files/fooCommon.js');
// Call the function in 'fooCommon.js', which will be passed the config, and
// will create all the tasks you have in common.
taskCreator(gulp, config);
// Register a task depending on the task created by the exported function.
gulp.task("foo", ["fooCommon"], function () { });