2016-08-25 2 views
0

내 꿀꺽 꿀꺽 소리 파일의 일부가 아무것도하지 않고 오류가 없지만 필요한 파일이 나타나지 않거나 수정되지 않았습니다.파일을 생성하지 못함

전체 gulp 파일이 아래에 있습니다. ('build'디렉토리에 파일을 생성합니다 ...) 꿀꺽 꿀꺽하는 작업 'js'와 'build' 'build'에서 예상되는 'app.js'를 생성하지 마십시오. 국장님.

'JS'와 '빌드'사용 '이벤트 스트림'과 함수 getTemplateStream이() 나는 문제가 의심 때문에

확인하는 단계; 나는 이러한 요소를 제거하면,이 작품 :

gulp.task('x', function() { 
    gulp.src(source.js.src) 
     .pipe(concat('app.js')) 
     .pipe(gulp.dest('build')) 
}); 

내가 (CONSOLE.LOG) 또는 오류를 얻을 수없는 것 - 그래서 나는 딱하다 어떤 도움을 - 크게

/* 
    GULP BUILD SYSTEM 
    -Will watch and compress files, as needed, restart server on change in dev mode 
    -Will create a single "vendor.js" uglified file for any JS files specified in the "app.scripts.json" file 
    -will move condensed files to "build" 
*/ 
var es = require('event-stream'); 
var gulp = require('gulp'); 
var concat = require('gulp-concat'); 
var connect = require('gulp-connect'); 
var templateCache = require('gulp-angular-templatecache'); 
var ngAnnotate = require('gulp-ng-annotate'); 
var uglify = require('gulp-uglify'); 
var gutil = require('gulp-util'); 
var fs = require('fs'); 
var _ = require('lodash'); 

var scripts = require('./app.scripts.json'); // for vendor.js 
var source = { 
    js: { 
     main: 'app/main.js', 
     src: [ 'app.config.js', 
       'app/main.js', 
       'app/app.js', 
       'app/**/module.js', 
       'app/**/!(module)*.js' ], 
     tpl: 'app/**/*.tpl.html' 
    } 
}; 

var destinations = { 
    js: 'build' 
}; 



// FUNCTIONS 
var swallowError = function(error) { 

    console.error.bind(error.toString()); 
    this.emit('end'); 

}; 

var getTemplateStream = function() { 

    return 
    gulp.src(source.js.tpl) 
     .pipe(templateCache({ 
      root: 'app/', 
      module: 'app' 
     })) 

}; 


// GULP TASKS 
gulp.task('build', function() { 
    return 
    es.merge(gulp.src(source.js.src) , getTemplateStream()) 
     .pipe(ngAnnotate()) 
     .pipe(uglify()) 
     .pipe(concat('app.js')) 
     .on('error', swallowError) 
     .pipe(gulp.dest(destinations.js)); 
}); 


gulp.task('js', function() { 
    return 
    es.merge(gulp.src(source.js.src) , getTemplateStream()) 
     .pipe(concat('app.js')) 
     .on('error', swallowError) 
     .pipe(gulp.dest(destinations.js)); 

}); 


gulp.task('vendor', function() { 

    _.forIn(scripts.chunks, function(chunkScripts, chunkName) { 

     var paths = []; 

     chunkScripts.forEach(function(script) { 

      var scriptFileName = scripts.paths[script]; 

      if (!fs.existsSync(__dirname + '/' + scriptFileName)) { 

       throw console.error('Required path doesn\'t exist: ' + __dirname + '/' + scriptFileName, script); 

      } 

      paths.push(scriptFileName); 
      //console.log('vendor file ' + scriptFileName + ' added to vendor.js.'); 

     }); 

     gulp.src(paths) 
      .pipe(concat(chunkName + '.js')) 
      .on('error', swallowError) 
      .pipe(gulp.dest(destinations.js)) 

    }); 

}); 


gulp.task('watch', function() { 

    gulp.watch(source.js.src, ['js']); 
    gulp.watch(source.js.tpl, ['js']); 

}); 


gulp.task('connect', function() { 

    connect.server({ 
     port: 8888 
    }); 

}); 

gulp.task('prod', ['vendor', 'build']); 
gulp.task('dev', ['vendor', 'js', 'watch', 'connect']); 
gulp.task('default', ['dev']); 
// END GULP TASKS 
+0

가능한 [JavaScript의 자동 세미콜론 삽입 (ASI) 규칙은 무엇입니까?] (http://stackoverflow.com/questions/2846283/what-are-the-rules-for-javascripts-automatic-semicolon- 삽입 - 아시아) –

답변

0

스벤 감사 (매우 수동적 인 방식으로) 대답을 지적했다.

문제는 자바 스크립트 자동 삽입 세미콜론 ..., return 문의 전형적인 예로 하였다 (참조 된 페이지 아래 약 1/2을 발견)

return 
    "something"; 
// is transformed to 
return; 
    "something"; 

그래서 그 조정을 - 내 문제를 해결 .

스벤 (Sven), 나는 답변이 같았지만 이것이 중복 된 질문이라고 동의하지 않습니다. 원래 게시물을 '보게'하는 방법은 없습니다. 당신은 답장으로 나를 간단하게 지시 할 수있었습니다.

답변을 게시하는 사용자는 항상 깊이 또는 폭이있는 것은 아니므로 Google에서 요청하는 이유입니다.

관련 문제