2016-08-25 28 views
0

私のgulpファイルの一部は何もしていませんが、エラーは表示されませんが、必要なファイルが表示されません。ファイルを作成していません

完全なgulpFileは以下のとおりです。 (ビルドディレクトリにファイルを作成する)... gulpタスク 'js'と 'build' 'build'に予想される 'app.js'を作成しないでください。 dir。

「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-挿入 - asi) –

答えて

0

を高く評価しました(非常に受動的な攻撃的な方法で)答えを指摘した。

問題はJavascriptを自動的にreturn文の古典的な例で、...セミコロンを挿入した:(約1/2呼ばページダウンを見つけました)

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

をので、これらの調整を行う - 私の問題を修正しました。

スヴェン、私は答えは同じですが、これは重複した質問ではないと私は同意します。元の投稿を「見る」ことがわかる方法はありません。答えとして私をポストに単に向けることができました。

投稿を投稿して回答を探す人は、必ずしも深さや幅があるとは限りません。その理由はわかります。

関連する問題