gulp - Gulp 任务未完成
问题描述
对 gulp 来说是新手。我有以下任务。我需要生成一个网络服务器,然后另一个脚本必须针对这个网络服务器运行一些东西。我目前正在努力完成脚本,因为浏览器同步任务没有完成并阻止脚本退出。
'use strict';
const browserSync = require('browser-sync').create();
const cp = require('child_process');
const minimalcss = require('minimalcss');
const gulp = require('gulp');
const clean = require('gulp-clean');
const sourceDir = "_site/";
const deployDir = "public/";
// build the mkdocs Site
gulp.task('build', function() {
return cp.exec('pipenv run mkdocs build --site-dir ' + sourceDir);
});
// Delete _deploy directory first
gulp.task('prepare', function() {
return gulp.src(deployDir, {read: false, allowEmpty: true})
.pipe(clean());
});
// Delete _deploy directory again // just for testing
gulp.task('cleanup', function() {
return gulp.src(deployDir, {read: false, allowEmpty: true})
.pipe(clean());
});
// does not lead to anything, just for testing
gulp.task('inlinecriticalCSS', function(done) {
minimalcss
.minimize({ urls: ['http://localhost:9999/' + 'index.html'] })
.then(result => {
console.log('OUTPUT', result.finalCss.length, result.finalCss);
})
.catch(error => {
console.error(`Failed the minimize CSS: ${error}`);
});
done();
});
// webserver
gulp.task('serve', (done) => {
browserSync.init({
port: 9999,
server: {
baseDir: sourceDir
}
});
done();
});
// default sequence
gulp.task('default', gulp.series(
'prepare',
'build',
'serve',
'inlinecriticalCSS',
'cleanup')
);
解决方案
推荐阅读
- java - IntelliJ:使用 JAVA_HOME 变量添加 Java SDK
- python - 将列表取消嵌套在列表中的函数中使用的递归机制
- javascript - 当我运行此代码时,我没有得到任何输出,请提供任何建议或更正
- r - 将数据框更改为具有 1 和 0 的另一个数据框
- android - 获得相机权限后不显示预览
- python - 如何将 boxstyle 用于 pad 和 round 用于矩形?
- android - 如何在打开另一个 mapbox 实例之前卸载 mapbox
- java - 为什么 GET 资源没有响应请求
- r - 带有 ggplots 和 treemapify 的图表 Treemap
- angular - Angular 7 无法加载图像