【问题标题】:Gulp: File not able to read which was created in last taskGulp:文件无法读取在上一个任务中创建的文件
【发布时间】:2015-04-30 13:26:29
【问题描述】:

这里 app/folder1/ 包含 3 个 angularjs 文件(控制器、服务、工厂)。通过使用'task1',我将所有 html 文件合并到 'templates.js' 中。在'task2',我需要将3个angularjs文件和1个templates.js文件合并成一个文件。

但在“task2”中,系统仅读取 3 个 angularjs 文件。如果我单独运行“task2”,则系统正在组合 4 个文件。

gulp.task('task1',function() {
     gulp.src('app/**/*.html')
           .pipe(minifyHtml({empty: true}))
           .on('error', gutil.log)
           .pipe(templateCache({root: 'app/folder1/',module:'myModule'}))
           .on('error', gutil.log)
           .pipe(gulp.dest('app/folder2/'))
           .on('error', gutil.log);
     });
});

gulp.task('task2',function(){
     var newName = 'script_' + new Date().getTime() + '.js';
     gulp.src('app/folder2/**/*.js')
         .on('error', gutil.log)
         .pipe(concat(newName,{newLine: ';'}))
         .on('error', gutil.log)
         .pipe(gulp.dest('/dist/'))
         .on('error', gutil.log)
         .pipe(uglify({mangle:false }))
         .on('error', gutil.log)
         .pipe(gulp.dest('/dist/'))
         .on('error', gutil.log);
    });
});


gulp.task('default', function(callback) {
    runSequence('task1','task2',callback);
});

如果我运行 gulp 命令,它不会合并 templates.js 文件。

如果我运行gulpgulp task2,那么它会按预期工作。

有什么问题?

【问题讨论】:

    标签: angularjs gulp gulp-concat gulp-uglify


    【解决方案1】:

    如果您不打算处理task1task2 中的callback,我认为您需要返回流。

    return gulp.src('app/**/*.html')
             .pipe(...
    

    【讨论】:

    • 是的,否则,gulp 无法有效地判断流是否已完成处理,即使有序列。
    猜你喜欢
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多