Синхронные задачи, запускаемые Gulp, не запускаются должным образом (при настройке среды AngularJs)

Я изучаю глоток. И я хочу настроить среду AngularJS с помощью Gulpand, а затем минимизировать и объединить их. Но проблема в том, что когда я пытаюсь минимизировать или объединить файл js, я думаю, что gulp не нашел configFile.js, созданный «gulp-ng-config» для настройки среды AngularJS.

Вот мой gulpfile.js

var gulp = require('gulp');
var bower = require('gulp-bower');
var gulpNgConfig=require('gulp-ng-config');
var rimraf = require('rimraf');
var gp_concat = require('gulp-concat');
var gp_rename = require('gulp-rename');
var gp_uglify = require('gulp-uglify');
require('gulp-run-seq');


gulp.task('setLocalEnv', function () {
    console.log("gulp test running ");
    gulp.src('configFile.json')
        .pipe(gulpNgConfig('myApp.config', {
            environment: 'local'
        }))
        .pipe(gulp.dest('./js'),function(end){
            console.log("set env",end);
        })
});

gulp.task('js-fef', function(){
    return gulp.src(['js/*','js/*/*'])
        .pipe(gp_concat('concat.js'))
        .pipe(gulp.dest('dist'))
        .pipe(gp_rename('uglify.js'))
        .pipe(gp_uglify())
        .pipe(gulp.dest('dist'));
});

gulp.task('clean', function (cb) {
    rimraf('./dist', cb);
});

gulp.task('bower', function() {
    return bower()
});
gulp.task('setProdEnv', function () {
    console.log("gulp test running ");
    gulp.src('configFile.json')
        .pipe(gulpNgConfig('myApp.config', {
            environment: 'production'
        }))
        .pipe(gulp.dest('./js'))

});

gulp.task('default', [['clean','setLocalEnv','bower','js-fef']],function() {
    console.log("hello gulp");
});

gulp.task('production',['setProdEnv','bower'], function() {
    console.log("hello gulp");
});

Это файл configFile.js, созданный задачей setLocalEnv.

angular.module('myApp.config', [])
.constant('EnvironmentConfig', {"api":"http://localhost/"});

И это сгенерированный файл minify

angular.module("app",[]),angular.module("app").controller("ctrl",["$scope",function(l){console.log("ctrl bind ")}]);

А вот вывод команды по умолчанию "gulp"

[20:09:56] Using gulpfile ~/WebstormProjects/NodeJs-Seed/public/gulpfile.js
[20:09:56] Starting 'clean'...
[20:09:56] Finished 'clean' after 2.46 ms
[20:09:56] Starting 'setLocalEnv'...
gulp test running 
[20:09:56] Finished 'setLocalEnv' after 20 ms
[20:09:56] Starting 'bower'...
[20:09:56] Using cwd:  /home/abhay/WebstormProjects/NodeJs-Seed/public
[20:09:56] Using bower dir:  lib
[20:09:56] Finished 'bower' after 3.85 ms
[20:09:56] Starting 'js-fef'...
[20:09:56] Finished 'js-fef' after 10 ms
[20:09:56] Starting 'default'...
hello gulp

person abhaygarg12493    schedule 29.07.2015    source источник


Ответы (1)


Я решаю эту проблему, используя

"gulp.run('js-fef')"

Теперь моя задача с глотком выглядит так

gulp.task('setLocalEnv', function () {
    console.log("gulp test running ");
    gulp.src('configFile.json')
        .pipe(gulpNgConfig('myApp.config', {
            environment: 'local'
        }))
        .pipe(gulp.dest('./js'),function(end){
            console.log("set env",end);
        })
        .on('end', function () {
            gulp.run('js-fef')
        });
});
person abhaygarg12493    schedule 29.07.2015