2016-03-23 5 views
1

こんにちは。TypeScript + Browserify + GulpのSourceMaps?

TSからコンパイルしてBrowserifyを使用した後、私のSourceMaps(gulp-sourcemapsから)をTSファイルに戻すことができるかどうかを知りたいです。

現在、私はtsifyを使ってTSをコンパイルし、all.jsにバンドルしてall.min.jsにuglify(minify)します。私はSourceMapsも持っていますが、ミニバージョンからall.jsにマップするだけです。

私はかなりこれを検索しました。私はJSから私のTSに縮小された前にSourceMapsをやったことがあるが、私はその場合にはBrowserifyを使用していなかった。

私の現在の作業ガルプタスク:ここでの大きな問題は、sourcemapsの呼び出しの間、すべてがBrowserifyがない、一息-sourcemapsのサポートを持っている必要があることであることを

gulp.task('scripts', function(){ 
    return browserify(paths.mainJs) 
     .plugin(tsify) 
     .bundle() 
     .on('error',console.error.bind(console)) 
     .pipe(source('all.js')) 
     .pipe(buffer()) 
     .pipe(sourcemaps.init()) 
     .pipe(gulp.dest(paths.outscripts)) 
     .pipe(rename('all.min.js')) 
     .pipe(uglify()) 
     .pipe(sourcemaps.write()) 
     .pipe(gulp.dest(paths.outscripts)); 
}); 

注意。 GulpにはTypescriptコンパイラもありますが、どうすればBrowserifyを使用できますか?

ありがとうございます!

答えて

3

私はそれを理解しました!時間....

後これはそれがある:

gulp.task('scripts', function(){ 
    return browserify(paths.mainTs,{debug: true}) 
     .on('error',console.error.bind(console)) 
     .plugin(tsify) 
     .bundle() 
     .pipe(source('all.js')) 
     .pipe(buffer()) 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(gulp.dest(paths.outscripts)) 
     .pipe(rename('all.min.js')) 
     .pipe(uglify()) 
     .pipe(sourcemaps.write()) 
     .pipe(gulp.dest(paths.outscripts)); 
}); 

paths.mainTsエントリTSファイル(main.ts、index.ts、app.ts、何でも)です。

デバッグフラグは、ソースマップを書き込むためにBrowserifyに指示します。

次に、これらのマップをロードしてからミニバージョンに書き出します。

デバッグ中にフルサイズのjsを使用している場合、デバッグ中にソースマップを使用して2行をスキップすることができます。

EDIT:最後に大規模なJSファイルを避けるため(インラインソースマップが含まれているため)、sourcemaps.write( '/ somePath')だけです。

+0

この回答を投稿して – tomfumb

関連する問題