プログラム関係の備忘録。技術系記事1000記事以上を目指すブログ

【laravel】blade内にjQueryを書くと「$ is not a function」とのエラーになる場合

問題点

laravelのblade内にjQueryを書くと「$ is not a function」とのエラーになる場合。

解決策①

jQuery.noConflict()メソッドを追加する。
上記はlaravelに限らず他でも有効。

適用前
[javascript] $(function(){ // if document is ready
alert(‘jQuery’)
});
[/javascript]

適用後
[javascript] jQuery.noConflict();
$(function(){ // if document is ready
alert(‘jQuery’)
});
[/javascript]

解決策②

laravelに沿った対処法という観点だとこちらのほうがもっといい。
bladeにインラインで使うのではなく、「public >> js」内に新しくjs用のファイルを追加して、テンプレートでそのファイルを読み込む←app.jsよりも後に記述。

以下リンクのコメント欄での回答が参考になる。
一言でいうと読み込む順番の関係のよう。
https://qiita.com/96kuroguro/items/aad383a129c3523f2ea1