Шаблон Wordpress Roots / Sage Uncaught TypeError: $ не является функцией - PullRequest
0 голосов
/ 10 июля 2020

поэтому я недавно начал изучать wordpress, услышал об этой теме Roots / sage, которая похожа на то, как php фреймворки работают как larvel, с которыми я более знаком.

Настроить, все работает, Browsersyn c - работает, Создано несколько пользовательских страниц - все работает отлично, теперь пора добавить javascript в файл app.blade. php в папке макетов. Если я правильно понимаю, jquery и javascript уже включены через установку sage, потому что bootstrap работает отлично.

Так в файле app.blade. php непосредственно перед концом тега body Я добавил этот код, чтобы проверить, действительно ли javascript работает:

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

  </body>
</html>

В результате я получаю эту ошибку: Uncaught TypeError: $ не является функцией Хорошо, поэтому я решил remove $ (document) .ready () .... буквально осталось только

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

И работает отлично!

Включая файл с sages assets / scripts / main. js файл не имеет значения, если jquery / javascript уже включен, я должен иметь возможность бросать случайную js функцию внизу каждой страницы, нет?

Итак, мой вопрос, может ли кто-нибудь объяснить, почему это вызывает ошибку и как ее исправить, я бы хотел, чтобы моя страница была полностью загружена "готова" перед выводом каких-либо скриптов. Надеюсь, это имеет смысл ..

1 Ответ

1 голос
/ 10 июля 2020

Вы можете обернуть его внутри такой функции, чтобы она работала:

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

Другой способ - заменить $ ширину слова jQuery:

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

Оба решения должны нормально работать в wordpress.

...