Wordpress Roots/Sage template Uncaught TypeError: $ is not a function

Wordpress Roots/Sage template Uncaught TypeError: $ is not a function

所以我最近开始探索 wordpress,听说这个主题 Roots/sage 类似于 php 框架如何像我更熟悉的 larvel 一样工作。

所以在 app.blade.php 文件中,就在正文标记结束之前,我添加了这段代码来检查 javascript 是否真的有效:

    <script type='text/javascript'>
      $(document).ready(function() {
        console.log( "ready!" );
      });
    </script>

  </body>
</html>

结果我得到这个错误:未捕获的类型错误:$ 不是一个函数 好吧,所以我决定删除 $(document).ready().... 只剩下

        <script type='text/javascript'>
            console.log( "ready!" );
        </script>
    
      </body>
    </html>

而且效果很好!

包含带有 sages assets/scripts/main.js 文件的文件应该无关紧要如果 jquery/javascript 已经包含我应该能够在每个页面的底部抛出一个随机的 js 函数,不是吗?

所以我的问题是,有人可以解释为什么会抛出错误以及如何修复它,我希望我的页面在输出任何脚本之前完全加载“就绪”。我希望这是有道理的..

您可以将它包装在这样的函数中以使其工作:

( function( $ ) {
    console.log( "ready!" );
}( jQuery ) );

另一种方法是将 $ 宽度替换为单词 jQuery:

jQuery(document).ready(function() {
        console.log( "ready!" );
});

这两种解决方案在 wordpress 中应该都能正常工作。