ライブラリ内の関数が参照できない。。。
- 開発経験無しの初心者が自作Webアプリケーション作成に挑戦してみてはまった点を備忘録がてらに記述しています。
- お気軽にコメント頂けますと幸いです
- 同様の現象ではまり、より詳細な情報が欲しい方
- 記述内容に関して、より詳細なお持ちの方
- 記述内容に関して、疑問点がある方
対象レベル
- 初学者
- Webアプリケーション開発経験なし。
- JavaScriptを用いた開発初体験。
発生環境
- PHP Laravelフレームワーク使用。
- jQuery Validation Plugin使用。
現象
- 以下のコマンドでバリデーション実行。
- $('セレクタ').validate(ルール);
- "TypeError: $(…).validate is not a function"のエラーで関数が実行できない。
- validate()関数は、ライブラリ内で定義されている。
- ライブラリ(jQuery.validate.jsファイル)自体は読み込まれている。
- なぜ、、、?
原因・解決方法
- スクリプトタグの読み込みタイミングで、はまっていた模様。
- 記述箇所・順序、asyncやdeferを組み合わせ読み込みタイミングを制御することで正常に動作するようになった。
注意点
- JavaScriptでは、読み込む順番・タイミングによってエラーが発生する。
- コピペではだめですね、、、