フロントエンドライブラリの略称を変更

2019-05-09 01:43:29

 TypeScriptで作った仮想ウインドウフレームワークの略称をJSWからJWFに変えました。


 現状ではモジュール化せず、HTMLのSCRIPTタグからファイルを呼び出せばそのまま使えるように作っています。しかしそれだとnpmに登録したときに不便なので対処法を考えました。

 まず大前提として、現時点ではnamespaceにexport設定を入れていません。この状態だと、モジュールバンドラなどからimportすることが不可能です。しかしexportを入れてしまうと、HTMLのSCRIPTタグからファイルを呼び出すときに問題が発生します。

 メンテナンスの都合を考えると、メインのソースコードに手を加えて、モジュール用の非モジュール用を別に作るのは避けたいところです。ということで色々と実験してみました。

 結論としてはTypeScriptの設定をAMD+ファイル結合状態にし、モジュールバージョンだけファイルを一つ加えます。

 export=JWF

 これが入っているだけのファイルを一つ追加です。JWFがネームスペースです。ただし、これだけだと失敗します。この定義が結合ファイル中の他の定義よりも後ろに来るように、tsconfig.jsonに細工しなければなりません。includeでディレクトリを指定すると、その順序通りに結合されます。これを利用してexportを記述したファイルの結合順序を最後に持って行きました。

 ローカルモジュール化してWebPackから確認した結果、問題なく動作しました。ということで、もう少し確認作業を進めたら、フロントエンドライブラリもnpmに登録します。