在gulp中的另一个任务中使用创建的文件
我正在尝试为以下操作设置一个小的吞咽脚本:在gulp中的另一个任务中使用创建的文件,gulp,Gulp,我正在尝试为以下操作设置一个小的吞咽脚本: 将所有Javascript文件连接成一个 这是一个构建的Javascript文件 将所有SASS文件编译为CSS 缩小这些CSS文件 此外,我想将步骤1和步骤3的结果保存到一个文件夹(开发人员版本),并将步骤2和步骤4的结果保存到另一个文件夹(生产版本)。 问题是,gulp在第2步和第4步中似乎找不到生成的文件,因此它总是根据文件的旧版本生成文件。 这个问题的解决方法是总是运行我的gulp脚本两次。 有人知道为什么会这样吗?我如何解决这个问题 var
var gulp = require('gulp');
var plumber = require('gulp-plumber');
var concat = require('gulp-concat');
var minifyCSS = require('gulp-minify-css');
var uglify = require('gulp-uglify');
var sass = require('gulp-sass');
var DEV_JS = 'dev/js/*.js';
var DEV_SASS = 'dev/sass/*scss';
var BUILT_PROD_JS = 'built/prod/js';
var BUILT_PROD_CSS = 'built/prod/css';
var BUILT_DEV_JS = 'built/dev/js';
var BUILT_DEV_CSS = 'built/dev/css';
gulp.task('concat', function(){
gulp.src(DEV_JS)
.pipe(plumber())
.pipe(concat('simple-ui.js'))
.pipe(gulp.dest(BUILT_DEV_JS));
});
gulp.task('compress',['concat'], function(){
return gulp.src(BUILT_DEV_JS + '/*.js')
.pipe(plumber())
.pipe(uglify())
.pipe(gulp.dest(BUILT_PROD_JS));
});
gulp.task('sass', function(){
gulp.src(DEV_SASS)
.pipe(plumber())
.pipe(sass())
.pipe(gulp.dest(BUILT_DEV_CSS));
});
gulp.task('minify-css',['sass'], function(){
return gulp.src(BUILT_DEV_CSS + '/*.css')
.pipe(plumber())
.pipe(minifyCSS({keepSpecialComments: 1})
.pipe(gulp.dest(BUILT_PROD_CSS)));
});
gulp.task('default', ['compress', 'minify-css']);
我会在你的代码中修正两件事。首先,所有任务都应该有返回语句(一种表示它们已完成其他任务的方式),因此 第二,你似乎在这一行有一个输入错误:
var DEV_SASS = 'dev/sass/*scss';
改为:
var DEV_SASS = 'dev/sass/*.scss';
我要做的第一件事是将返回语句添加到“concat”和“sass”任务中;我想你需要*.scss在scss之前记下perion。
var DEV_SASS = 'dev/sass/*.scss';