WebpackでjQuery3をグローバルに出そうとするとandroid4.4.4で"__WEBPACK_AMD_DEFINE_ARRAY__ is not defined"とエラーに

WebpackでjQuery2系から3系にあげようとしたら、android4.4.4の標準ブラウザでJSが動かなくなった。

WEBPACK_AMD_DEFINE_ARRAY is not defined”だそうです。

ググってたらこのissueにもあげられている。jQueryではなくWebpack側のバグと結論付けられている。

ちなみに自分の環境だとWebpack 1.13.2 + jQuery 3.1.1で起きています。

WebpackのProvidePluginで’jQuery’,‘$‘をプロジェクト全体で使えるようにしているのですが、それが問題っぽい。

もしかしたらexports-loaderなんかでグローバルに定義すれば回避できるかもしれない。

不思議なのが、問題が起きているのはproductionビルドのみで、開発時に立てているwebpack-dev-serverから配信されたJSだと動いている。

後ほど小さいテストプロジェクトを作って詳しく検証したいんですが、時間なかったのとグローバル汚染したくなかったので2系に下げました。何かわかれば追記します。これは検証と悲しみを忘れないための敗戦報告です。

おわり🐶