我是 Gulp 新手..我已经能够成功安装、连接和缩小我的 .js 和 .css 文件,但是,有一个我想排除的 .css 文件 - print.css
我已按照此处的说明进行操作:https://www.npmjs.org/package/gulp-ignore https://www.npmjs.org/package/gulp-ignore在我的本地目录中安装 gulp-ignore,并将 gulpfile.js 修改为:
// Include gulp
var gulp = require('gulp');
// Include Our Plugins
var jshint = require('gulp-jshint');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var minifyCSS = require('gulp-minify-css');
var imagemin = require('gulp-imagemin');
var exclude = require('gulp-ignore').exclude;
var paths = {
scriptsNonAuth: ['Non-Auth/javascript/*.js'],
scriptsAuth: ['Auth/javascript/*.js'],
stylesNonAuth: ['Non-Auth/css/*.css'],
stylesAuth: ['Auth/css/*.css'],
};
// CSS Task - Non Authenticated
gulp.task('minify-css-non-auth', function() {
gulp.src(paths.stylesNonAuth)
.pipe(minifyCSS(opts))
.pipe(concat('all.min.css'))
.pipe(gulp.dest('Non-Auth/css'))
});
// CSS Task - Authenticated
gulp.task('minify-css-auth', function() {
gulp.src(paths.stylesAuth)
.pipe(minifyCSS(opts))
**.pipe(exclude('Auth/css/print.css'))**
.pipe(concat('all.min.css'))
.pipe(gulp.dest('Auth/css'))
});
在我的 CSS 任务 - Secure 中,我包含了 .pipe(exclude('Secure/css/print.css'))
当我运行 gulp minify-css-secure 时,任务完成,但在检查新的 all.min.css 时,我也看不到其中 print.css 的内容。
目前尚不清楚您想要实现什么目标。如果我猜对了,你想要:
- 缩小所有 css 文件(包括 print.css)
- 将除 print.css 之外的所有文件合并到 all.min.css 中
- 将缩小后的 all.min.css 和 print.css 放入目标文件夹
为了实现这一点,您可以使用流队列 https://github.com/nfroidure/StreamQueue. (source https://github.com/gulpjs/gulp/blob/master/docs/recipes/using-multiple-sources-in-one-task.md)
var streamqueue = require('streamqueue');
var paths = {
scriptsNonAuth: ['Non-Auth/javascript/*.js'],
scriptsAuth: ['Auth/javascript/*.js'],
stylesNonAuth: ['Non-Auth/css/*.css'],
stylesAuth: ['Auth/css/*.css', '!Auth/css/print.css'],
};
gulp.task('minify-css-auth', function() {
return streamqueue({ objectMode: true },
gulp.src(paths.stylesAuth)
.pipe(minifyCSS(opts))
.pipe(concat('all.min.css')),
gulp.src('Auth/css/print.css'))
.pipe(minifyCSS(opts))
)
.pipe(gulp.dest('Auth/css'))
});
如果您只想排除某些文件,则不需要 gulp-ignore。 Gulp 支持忽略 glob。
只需在要排除的路径前添加 bang 即可。
像这样:
stylesAuth: ['Auth/css/*.css', '!Auth/css/print.css']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)