Electron と TypeScript と WebPack と Visual Stuido Code
Electron + TypeScript で開発を進めてきたのですが、import/export 周りがちゃんと使えないのがしんどくなってきたので、WebPack を導入してみました。
WebPack のインストール
以下のコマンドで OK です。
Error: Cannot find module 'typescript'と出てしまうことがあったのですが、その場合は、コマンドプロンプトで、
としたら直りました。この辺、よくわかってないんですよね…
プロジェクトのディレクトリに、webpack.config.js を作ります。メインプロセス用のソースは、src/main 以下に、レンダラープロセス用のソースは src/renderer 以下に置き、出力はそれぞれ dist/main/main.js と dist/renderer/editor.js に出力する設定です。(こちらの記事を参考にさせていただきました。)
devtool:"source-map"を設定しておくと、ソースマップが出力されるため、デバッガーでアタッチできるようになります。
tsconfig.json は以下のように編集しました。
あとは、ターミナルから webpack のウォッチを起動しておきます。
export/import の書き方
複数のクラスをエクスポート
自作クラス(enum)をエクスポートするには、クラスの前に export とつけます。
このクラスをインポートしたい場合は、
とします。
一つだけエクスポート
もし、エクスポートしたいクラスが一つの場合は、
として、
でインポートできます。
定数をエクスポート
定数もやってみたらエクスポートできました。文字列テーブルなどに便利かもしれません。
インポートは以下の感じです。
これで、TR. とやると、コード補完も効いてくれます。
node や electron のモジュールをインポート
これまで通り、require を使っても問題ありませんでしたが、node.js のモジュールに関しては、
とやっても行けました。Visual Studio Code でコード補完も効きました。
electron の方は、
という感じで、electron のモジュールがインポートできます。(ちなみに、dialog は remote 経由じゃないとダメっぽいので、これではエラーでした。)
まとめ
WebPack 、よく記事ではみかけたのですが、導入してみたのは初めてでした。便利ですね。この辺りも使いこなしつつ、自作言語の処理系を TypeScript に移そうと思います。