Gulp 吞咽任务表示完成,但不产生结果
我有以下任务来构建我的应用程序。它有点为网络而删节。输出显示所有任务已完成。省略了通知消息所有输出完成,但Libs任务除外。如果我单独运行I,所有这些都可以工作 我对代码进行了修改,似乎很有效,但我显然遗漏了一个关键事实。请帮忙 吞咽文件并输出如下:Gulp 吞咽任务表示完成,但不产生结果,gulp,Gulp,我有以下任务来构建我的应用程序。它有点为网络而删节。输出显示所有任务已完成。省略了通知消息所有输出完成,但Libs任务除外。如果我单独运行I,所有这些都可以工作 我对代码进行了修改,似乎很有效,但我显然遗漏了一个关键事实。请帮忙 吞咽文件并输出如下: //Gulp File var gulp = require('gulp'), //.. sass = require('gulp-sass'); gulp.task('default', ['clean'], function
//Gulp File
var gulp = require('gulp'),
//..
sass = require('gulp-sass');
gulp.task('default', ['clean'], function (cb) {
gulp.start('libs', 'app', 'styles');
cb();
});
gulp.task("app", function (cb) {
gulp.src(['./app/main/app.js', './app/**/*.js'])
.pipe(changed('public/js'))
.pipe(concat('app.js'))
.pipe(gulp.dest('public/js'))
cb();
});
gulp.task("styles", function (cb) {
gulp.src('./resources/sass/app.scss')
.pipe(changed('public/css'))
.pipe(sass({...}))
.pipe(autoprefixer(...))
.pipe(gulp.dest("./resources/build/"))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('public/css'))
cb();
});
gulp.task('publish', function (cb) {
gulp.src([
'bower_components/jquery/dist/jquery.js',
'bower_components/angular/angular.js',
//..
'bower_components/angular-aria/angular-aria.min.js'
])
.pipe(gulp.dest('./resources/build/js/'));
cb();
});
gulp.task('libs', ['publish'], function (cb) {
gulp.src([
'resources/build/js/angular.js',
'resources/build/js/**/*.js'
])
.pipe(concat('libraries.js'))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('public/js'))
cb();
});
gulp.task('clean', function (cb) {
del(['resources/build', 'public/js/', 'public/css/'], cb)
});
/**问题LIBRARIES.JS未出现,libs的gulp notify不起作用
//Output of Gulp (default)
[01:14:05] Using gulpfile ~/dev/ttd/client/gulpfile.js
[01:14:05] Starting 'clean'...
[01:14:05] Finished 'clean' after 5.78 ms
[01:14:05] Starting 'default'...
[01:14:05] Starting 'publish'...
[01:14:05] Finished 'publish' after 11 ms
[01:14:05] Starting 'libs'...
[01:14:05] Finished 'libs' after 2.81 ms
[01:14:05] Starting 'app'...
[01:14:05] Finished 'app' after 3.39 ms
[01:14:05] Starting 'styles'...
[01:14:05] Finished 'styles' after 3.85 ms
[01:14:05] Finished 'default' after 22 ms
[01:14:05] gulp-notify: [Gulp notification] App Compiled
[01:14:06] gulp-notify: [Gulp notification] Styles Compiled
//Output of Gulp libs
[07:26:16] Using gulpfile ~/dev/ttd/client/gulpfile.js
[07:26:16] Starting 'publish'...
[07:26:16] Finished 'publish' after 7.4 ms
[07:26:16] Starting 'libs'...
[07:26:16] Finished 'libs' after 2.71 ms
[07:26:16] gulp-notify: [Gulp notification] Libs Compiled
谢谢您的帮助。请记住,
gulp.src
是异步工作的。您需要返回流,而不是立即调用cb
:
//Gulp File
var gulp = require('gulp'),
//..
sass = require('gulp-sass');
gulp.task('default', ['clean', 'libs', 'app', 'styles']);
gulp.task("app", ['clean'], function () {
return gulp.src(['./app/main/app.js', './app/**/*.js'])
.pipe(changed('public/js'))
.pipe(concat('app.js'))
.pipe(gulp.dest('public/js'));
});
gulp.task("styles", ['clean'], function () {
return gulp.src('./resources/sass/app.scss')
.pipe(changed('public/css'))
.pipe(sass({...}))
.pipe(autoprefixer(...))
.pipe(gulp.dest("./resources/build/"))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('public/css'));
});
gulp.task('publish', ['clean'], function () {
return gulp.src([
'bower_components/jquery/dist/jquery.js',
'bower_components/angular/angular.js',
//..
'bower_components/angular-aria/angular-aria.min.js'
])
.pipe(gulp.dest('./resources/build/js/'));
});
gulp.task('libs', ['clean', 'publish'], function () {
return gulp.src([
'resources/build/js/angular.js',
'resources/build/js/**/*.js'
])
.pipe(concat('libraries.js'))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('public/js'));
});
gulp.task('clean', function (cb) {
del(['resources/build', 'public/js/', 'public/css/'], cb)
});
似乎由于我现在忽略的原因,
gulp
通常不理解当前目录下的路线起点(例如,我不必将此解决方案应用于我在Laravel 5.4中的项目…)
在我的例子中,我在css/js路由文件之前缺少了一个拖尾
,这导致正确运行gulp
,没有任何输出结果(没有创建任何文件)
所以我不得不从这个角度出发:
var gulp = require('gulp');
var concat = require('gulp-concat');
var js = require('gulp-uglify');
var css = require('gulp-uglifycss');
var stylesheets = [
'/css/fabric.css'
];
var scripts = [
'/js/fabric.js'
];
gulp.task('css', function() {
return gulp.src( stylesheets )
.pipe( concat('fabric.min.css') )
.pipe( css() )
.pipe( gulp.dest('/dist/css/') );
});
为此:
var gulp = require('gulp');
var concat = require('gulp-concat');
var js = require('gulp-uglify');
var css = require('gulp-uglifycss');
var stylesheets = [
'./css/fabric.css'
];
var scripts = [
'./js/fabric.js'
];
gulp.task('css', function() {
return gulp.src( stylesheets )
.pipe( concat('fabric.min.css') )
.pipe( css() )
.pipe( gulp.dest('./dist/css/') );
});
希望它有助于节省一些宝贵的时间,防止头痛 我想知道
clean
是否在“libs”之前运行过。你能试着从你的目录中删除'resources/build'
来清理列表,看看这是否有帮助吗?显然,人们在使用官方的回调方法让Gulp同步执行任务时遇到了问题,请参阅此处了解详细信息和替代解决方案:这些cb
(回调)有效?不,回调无效。我以身作则太过分了,吸取了教训。哇,谢谢!昨晚那个让我睡不着觉,我想返回是可选的。对溪流的乐趣仍然陌生。谢谢