gulp - 并行任务和系列中的 Gulp 汇总
问题描述
我有一个带有 rollupTask 的 gulpfile,如下所示。但是在最后一个 zipTask 任务中,它没有从汇总中捆绑 js 输出。我发现解决此问题的唯一方法是在 ziptask 之前添加等待时间。汇总输出和下一个 gulp 系列似乎有一小部分延迟。这是预期的行为还是有什么东西可以在不增加等待时间的情况下解决这个问题?我的 rollupTask 是否正确?zip 任务只是将输出文件夹压缩到不同的文件夹中。输出文件夹本身包含预期的包。
const gulp = require('gulp');
const rollup = require('rollup');
async function rollupTask() {
const rollupBuild = await rollup({
input: 'index.js',
plugins: rollupPlugins,
});
await rollupBuild.write({
file: 'bundle.js',
format: 'es',
sourcemap: true,
});
await rollupBuild.close();
}
exports.default = series(taskOne, parallel(taskTwo, taskThree, rollupTask), zipTask);
解决方案
最简单的方法是使用为 gulp 编写的插件。gulp-rollup
const { src, dest } = require('gulp');
const rollup = require('gulp-rollup');
function rollupTask() {
const options = { input: './src/main.js' } // any option supported by Rollup can be set here.
return src('./src/**/*.js')
.pipe(rollup(options)) // transform the files here.
.pipe(dest('./dist'));
}
exports.build = series(rollupTask);
开始时:gulp build
推荐阅读
- terraform - 使用 Terraform 将 Helm 部署到 GKE 时经常出错
- javascript - 搜索html表格
- c++ - C++程序产生异常?
- swift - 使用 Xcode 11.4.1,为什么这些错误显示在动画部分?
- javascript - Node.js + Express + i18next 如何同时管理两种语言
- c# - 是否可以在 C# 中使用泛型类型参数使接口方法返回另一个方法的类型?
- c - 这是递归的正确应用吗?(显示堆栈的项目)
- html - 在 React Native 中渲染本地 html 文件
- botframework - 语音服务令牌持续时间延长问题
- sql - Oracle:将列移至新表,消除原表中剩余的非唯一行,同时保持两个表之间的外部关系