如果我使用:
gulp.src(['app/client/**/*.html'])
.pipe(gulp.dest('dist'));
Run Code Online (Sandbox Code Playgroud)
我的.html文件所在的文件夹结构是在dist文件夹中维护的,但我想完全删除文件夹结构,而只是在我的dist文件夹中删除一个平面层次结构.
我需要在每个目录中找到所有找到的图像进行优化并记录到其中,而无需单独设置每个文件夹的路径.我不明白如何做到这一点.
var gulp = require('gulp');
var imageminJpegtran = require('imagemin-jpegtran');
gulp.task('optimizeJpg', function () {
return gulp.src('./images/**/**/*.jpg')
.pipe(imageminJpegtran({ progressive: true })())
.pipe(gulp.dest('./'));
});
Run Code Online (Sandbox Code Playgroud) 我希望编写我的gulpfile.js扫描style.scss文件的themes目录,其目的是读取style.scss文件并在同一目录中写入相应的style.css和.min文件.我遇到的问题是我找不到编写css文件的方法而不知道目录是什么...我不会.
这可能与gulp.dest()有关吗?
tl; dr:基本上......如何确定正在处理的*.scss文件的当前路径,以便我可以将*.css文件放在同一目录中
// GULP variable declarations
var gulp = require('gulp'),
gutil = require('gulp-util'),
sass = require('gulp-ruby-sass'),
prefix = require('gulp-autoprefixer'),
minifycss = require('gulp-minify-css'),
rename = require('gulp-rename'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify');
// Paths array
var path = {
scss: [
'docroot/profile/theme/**/*/style.scss',
],
watch_scss: [
'docroot/profile/theme/**/*.scss',
],
};
// Process SASS functionality
gulp.task('process-scss', function() {
return gulp.src(path.scss)
.pipe(sass({
compass: true,
style: 'expanded',
}))
.pipe(prefix(['last 2 versions']))
.pipe(concat('style.css'))
.pipe(gulp.dest('./relative/dir')
.pipe(rename({suffix: '.min'}))
.pipe(minifycss())
.pipe(gulp.dest('./relative/dir')
.on('error', gutil.log);
});
// Setup the …Run Code Online (Sandbox Code Playgroud) 我们的项目正在使用Gulp。现在我有一个要求:我们有多个页面级 HTML 文件,例如login.html和my.html。在这些原始 HTML 文件中,有一个名为 的变量{{PAGE_TITLE}},应分别将其替换(由Gulp)为"Login to System"和"My Account"。这是我当前的脚本:
gulp.task('pages', ['clean:tmp'], function () {
var pageTitle = '';
return gulp.src('/my/source/html/**/*.html')
.pipe(tap(function (file, t) {
pageTitle = /index.html$/.test(file.path) ? 'Login to System' : 'My Account';
}))
.pipe(replace(/{{PAGE_TITLE}}/g, pageTitle))
.pipe(gulp.dest('/my/dest/'));
});
Run Code Online (Sandbox Code Playgroud)
事实证明该变量pageTitle从未在replace. 我已经搜索了gulp-tap很多次文档,但我仍然不知道如何使其工作。请帮忙,谢谢。
这篇文章:使用 Gulp.js 和通配模式修改文件就地(相同目标)试图达到相同的效果,但他提出了一些其他解决方案。