2017-07-21 14 views
0

私はTypescript UMDモジュール(require()が存在しない場合はグローバル変数にフォールバックしない)を使用しようとしています。どんなモジュールパターンでも。Webpack:非モジュールコードで使用するグローバル変数

私は、Webpackに、モジュールとしてロードする代わりに特定のモジュール用のグローバル変数を作成するローダーまたはプラグインが必要であると考えていました。例えば

私はノードパッケージの活字体UMDモジュールがあります:機能

myNewFunction(){ } 

をエクスポート

node_modules/my-new-module 

をそして私はと私のレガシーコードでそれを使用したい:

myNewModule.myNewFunction(); //myNewModule is a global variable 

現在、私の最良のソリューションは、すべての共有モジュールをロードして手動でそれらをグローバルに割り当てることです。もちろんこれは理想的ではありません。

Webpackでこれを行うことはできますか?別の解決策がありますか?

のWebPACKで感謝

答えて

1

を、あなたはライブラリー(グローバルvarが生成されます)として、あなたのモジュールを公開することができますライブラリを設定し、libraryTargetがでない場合

、libraryTarget VARデフォルト指定されています出力構成のドキュメントを参照してください。利用可能なすべての オプションの詳細リストについては、 output.libraryTargetを参照してください。

はこちらをご覧ください:https://webpack.js.org/guides/author-libraries/#add-librarytarget

+0

おかげで、これは便利です。私は、パッケージ/モジュールを消費するアプリケーションがグローバル変数としてロードすることを選択できたと考えていました。ライブラリアプローチを使用すると、各パッケージは 'ライブラリ'とモジュールバージョンを必要とし、消費するアプリケーションは実装するものを選択します。それでも問題は解決します。 – moefinley

関連する問題