HTMLのフォームにonSubmitでJavaScriptを呼ぶように実装してたんですが、HTMLファイルに直接JavaScriptを記載していたり、生のJavaScriptファイルを読ませていた時はうまく動くのに、Parcelを通したJavaScriptファイルだと Uncaught ReferenceError
となってしまい、実行されない問題が発生。
ググったところそれっぽい情報を発見。
生のJavaScriptファイルがこんな感じの内容だったとして、
Parcelを通すとこんなファイルが生成されます。
モジュール化されることでメソッドがグローバルに定義されなくなるので、onSubmit="hogehogeMethod()"
と呼んでも失敗すると。
であればグローバル下に引きずり出してやればいいと。
というわけで、
こんな感じで、
window.メソッド名 = メソッド名;
というようにグローバルに定義してやればonClickやonSubmitといったイベントハンドラから呼び出すことが可能。