Browser JavaScript におけるコンポーネント化の大波(ES Modulesとプラグイン)
ツイート貼っただけですけども
MozillaがHTTPSを前提とした機能追加を行うと宣言したように、今後はES Modulesを前提とした機能追加がありえるのだけど、ESMに対応する標準的な解が存在しないRailsはどうするんだろね。現状はjs系はバンドラの使用が大前提で、フルマネージドが足かせ状態になってる
— コラーゲンたっぷりさん (@uupaa) 2018年1月22日
こちらです:
今日リリース予定のChrome64でESMを無効化するフラグ chrome://flags#enable-module-scripts が無くなりESMが常時有効化されます。いよいよ<script type=“module”>を活用する時代に突入するため我々も変化しつつ前進ですよ
— コラーゲンたっぷりさん (@uupaa) 2018年1月22日
jsを1つにバンドルしてガチガチに拘束するのが前提のマネージドなフレームワークは、時代にそぐわなくなってしまったね
— コラーゲンたっぷりさん (@uupaa) 2018年1月22日
ES Modules についてまとめた。https://t.co/foG0l1pRua
— コラーゲンたっぷりさん (@uupaa) 2018年1月23日
default export 構文と import() を使った Pluggable module pattern についても追記したよ。https://t.co/K2FnO9ocpi
ここ半年ほどは、 require(…) なコードを一切書かなくなったね。
— コラーゲンたっぷりさん (@uupaa) 2018年1月23日
生の ES Modules や Dynamic import は「サーバ側で特定のディレクトリ以下の js は全部まとめて1つにすればいいじゃん」というこれまでの発想や、それを体現したフレームワークとは相性がとても悪いです。
そのままでは水と油なので、暫くはマイグレーションのための仕組みが必要となりますが、それは又の機会に。