SPA(Single Page Application)っぽいの作ってる。 タスクランナーに gulp を使って、TypeScript → JavaScriptな構成を作った。
流れとしては
TypeScript
でJavaScript(ES5)にコンパイル → browserify
でモジュール単位にまとめる → uglity
で圧縮
でとってた。が、なんか色々問題となっていた。
①TypeScriptのES6 ←→ ES5 Polyfillが怪しい
バージョンにもよるんだろうけど、でもバージョンアップでPolyFill失われるのびびった。 (ex: ES6追加のString.prototype.startsWithをES5に変えてくれるPolyFillが、TypeScript 1.7.2 → 1.8.10 でなくなった)
正式に、Babel使うのがいいのかもしんない。
②CSSファイルの管理がちょっと辛い
Angular使ってる。 けどDirectiveごとにCSSが分かれていない。いちおう、sass(笑)使ってるので1ファイルにまとめることはできてるけど、 Directive増やすと、TypeScriptの定義はもちろん、sassのリンクするとこもメンテしないとだめ。 CSSって単純に結合しても全然普通に表示できちゃうよね。なんか無駄な努力している感。
単純にwebpack使えるなら使いたい。
目指す構成
TypeScript
でJavaScript(ES6)にコンパイル → babel
でES5化 → webpack
でモジュール単位にまとめる → uglity
で圧縮
webpackが多機能すぎてちょっと色々いじらなきゃいけないけど、これが一番すっきりするはずだ。
手順とかあとで書く。