2016-08-22 4 views
0

私はES6で書くつもりの新しいプロジェクトでGoogle Closure Compilerを使用しようとしています。私は単にhttps://www.npmjs.com/package/google-closure-compilerに従ってみてください。 npmでgoogle-closure-compilerをインストールした後、GruntまたはGulpのどちらかの方法を試しましたが、どちらもうまくいきませんでした。私はちょうど実際のシンプルなjs helloワールドタイプのファイルをワークフローをテストするために持っていました。うなり声のためにグランとかGulpのいずれかでクローズコンパイラを使う

私Gruntfile.js:

module.exports = function(grunt) { 

    require('google-closure-compiler').grunt(grunt); 

    grunt.initConfig({ 
    'closure-compiler': { 
    my_target: { 
     files: { 
     'dest/output.min.js': ['src/js/**/*.js'] 
     }, 
     options: { 
     compilation_level: 'SIMPLE', 
     language_in: 'ECMASCRIPT6_STRICT', 
     language_out: 'ECMASCRIPT5_STRICT', 
     create_source_map: 'dest/output.min.js.map', 
     output_wrapper: '(function(){\n%output%\n}).call(this)\n//# sourceMappingURL=output.min.js.map' 
     } 
    } 
    } 
}); 

そして、私は "うなり声" を実行したときに私が取得:

警告:約束を続行するには利用--forceを定義されていませんが。 警告のために中断されました。ガルプのために

は、私はまた、チュートリアルに続いて、私のgulpfile.jsこのようなものです:

var gulp = require('gulp'), 
    gutil = require('gulp-util'); 

var Promise = require('es6-promise').Promise; 
var closureCompiler = require('google-closure-compiler').gulp(); 

gulp.task('default', function() { 
    return gulp.src('./src/js/**/*.js', {base: './'}) 
     .pipe(closureCompiler({ 
      compilation_level: 'SIMPLE', 
      warning_level: 'VERBOSE', 
      language_in: 'ECMASCRIPT6_STRICT', 
      language_out: 'ECMASCRIPT5_STRICT', 
      output_wrapper: '(function(){\n%output%\n}).call(this)', 
      js_output_file: 'output.min.js' 
     })).on('error', gutil.log) 
     .pipe(gulp.dest('./dist/js')); 
}); 

そして私は、私は、同様の約束に定義されていないエラーに遭遇したが、時のチュートリアル以下intiallyゴクゴクを実行します少なくとも私は、最初の問題を解決することES6-約束ラインを追加することができましたが、その後、私はまだ取得:

events.js:72 
     throw er; // Unhandled 'error' event 
      ^
Error: not implemented 
    at Readable._read (_stream_readable.js:465:22) 
    at Readable.read (_stream_readable.js:341:10) 
    at Readable.on (_stream_readable.js:720:14) 
    at Readable.pipe (_stream_readable.js:575:10) 
    at Transform.CompilationStream._flush (/<my project directory>/node_modules/google-closure-compiler/lib/gulp/index.js:213:17) 
    at Transform.<anonymous> (_stream_transform.js:130:12) 
    at Transform.g (events.js:180:16) 
    at Transform.emit (events.js:117:20) 
    at finishMaybe (_stream_writable.js:360:12) 
    at endWritable (_stream_writable.js:367:3) 

うなり声やガルプのいずれかが動作することで任意のヘルプ?

答えて

0

NodeJSバージョンをアップグレードします。プラグインは、本来のPromisesサポートを前提としています。これは、NodeJS 0.12のように遠くまで動作します。

+0

ありがとう@チャド・キリングスワース!私のNodeJSを更新することはやりました。その後、私はES6ファイルのテストを行いました。同じ設定で私はClosureコンパイラに渡しますが、Gulpは私のオプションにlanguage_in: 'ECMASCRIPT6_STRICT'、language_out: 'ECMASCRIPT5_STRICT'、 という出力が私のES6を生成していないようだがコンストラクタを適切に作成します。 –

+0

この問題が修正された場合は、この回答を受け入れることができますか?それは左側のチェックマークです。この次の問題を別の質問として投稿する必要があります。 –

+0

確認済みです。 –

関連する問題