WebpackでCommonJS形式でないJSライブラリを読み込む

exports-loaderを使う。

インストール

$ npm install --save-dev exports-loader

以下で読み込める。

require("exports![pasu]/raiburari-no-namae.js");

似たようなのにexpose-loaderというのもあって、こちらと混同してしまって無駄に時間を浪費してしまった。

expose-loaderは、指定したファイル内のオブジェクトをグローバル変数として外に公開するもの。

expose-loaderを使うケースは限られていて、指定した変数をグローバル汚染せずに他のモジュール内で使用できるようにするProvidePluginというものがあるので、まずはこちらを使えばいいと思う。

今回のexports-loaderは、CommonJS形式でないJSファイルにmodule.exportsの記述を追加し、内部の変数を外に公開するもの。なので使うケースが全く違う。

移行した際に古いjQueryプラグインなどが使われているときはこちらで呼び出して使うと良いと思います。

おわり🐶