net*_*zer 20 javascript node.js gulp
是否有可能有一个主要的gulpfile.js从其他gulp files.js调用任务?简单的"要求"将子gulpfile.js放入主要的一个不起作用.我有一个平台项目,其中包括几个带有单独gulpfiles的子项目,所以我需要一个解决方案来管理所有子项目中的所有子项目
Bri*_*hem 30
有一个主gulpfile.js可以使用该require-dir模块从其他gulp files.js调用任务.从项目README使用它像这样:
如果您gulpfile.js的开始变得过大,可以使用require-dir
模块将任务拆分为单独的文件.
想象一下以下文件结构:
gulpfile.js
tasks/
??? dev.js
??? release.js
??? test.js
Run Code Online (Sandbox Code Playgroud)
安装require-dir模块:
npm install --save-dev require-dir
Run Code Online (Sandbox Code Playgroud)
将以下行添加到您的gulpfile.js文件中.
var requireDir = require('require-dir');
var dir = requireDir('./tasks');
Run Code Online (Sandbox Code Playgroud)
我创建了一个特殊的gulp-require-tasks模块,可以帮助您将您gulpfile.js分成单独的小任务文件.有关示例和文档,请参阅自述文件.
请考虑使用它,让我知道它是否适合您!如果您有任何改进建议或想法,我很乐意接受.
如果我想让它面向未来并且不想为其安装另一个软件包怎么办?
以下内容适用于 gulp 4,无需任何额外的插件。
在taskfile.js:
const { src, dest } = require('gulp');
const mytask = function () {
return src('assets/**/*')
.pipe(dosomething())
.pipe(dest('dest');
}
module.exports = {
mytask
}
Run Code Online (Sandbox Code Playgroud)
在gulpfile.js:
const { mytask } = require('taskfile.js');
// use in other tasks
gulp.task('manythings', gulp.series(..., mytask, ...));
// or use directly as 'gulp mytask'
module.exports = {
mytask
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13442 次 |
| 最近记录: |