我的代码:
var gulp = require('gulp'),
concat = require('gulp-concat'),
minify = require('gulp-minify-css');
gulp.task('css', function() {
var styles = [
'node_modules/sweetalert/dist/sweetalert.css'
];
return
gulp.src(styles)
.pipe(minify())
.pipe(concat('libs.min.css'))
.pipe(gulp.dest('public/assets/css'));
});
环境:
- 源文件存在。
- 输出目录存在且可写。
- 输出干净,没有错误。
控制台输出:
root@bite-srv:/var/www/test# gulp css
[12:51:27] Using gulpfile /var/www/test/gulpfile.js
[12:51:27] Starting 'css'...`
[12:51:27] Finished 'css' after 582ms
这不会输出任何 css。
怎么了?
== 编辑 ==
发现问题出在这里:
// This doesn't work
return
gulp.src(styles)
.pipe(minify())
.pipe(concat('libs.min.css'))
.pipe(gulp.dest('public/assets/css'));
// This works
return gulp.src(styles)
.pipe(minify())
.pipe(concat('libs.min.css'))
.pipe(gulp.dest('public/assets/css'));
谁能解释一下为什么?
最佳答案
JavaScript 执行自动分号插入。所以这个:
return
gulp.src(styles)
.pipe(minify())
.pipe(concat('libs.min.css'))
.pipe(gulp.dest('public/assets/css'));
转化成这样:
return; // <- Execution halts here!
gulp.src(styles)
.pipe(minify())
.pipe(concat('libs.min.css'))
.pipe(gulp.dest('public/assets/css'));
有关详细信息,请参阅 Beware Of JavaScript Semicolon Insertion .
关于javascript - Gulp - 基本 concat/minify 不输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44823175/