Anime.js с Wordpress: модуль не определен
Я сделал несколько анимаций локально с помощью anime.js с простым HTML, CSS и JS. Теперь мне нужно реализовать эти анимации на сайте на основе WordPress.
К сожалению я получаю ошибку module is not defined
, Это относится к последней строке в файле anime.js module.exports = anime;
,
Я действительно мало знаю о разработке Wordpress, но я знаю, как ставить сценарии в очередь (по крайней мере, я так думаю)
Вот код из моего файла functions.php, где я вызываю anime.js и мой файл js, хотя я даже не знаю, связана ли эта ошибка с тем, как я ставлю файлы в очередь.
function load_my_scripts() {
wp_register_script('animejs', get_template_directory_uri() . "/js/anime.js", array(), '', true );
wp_enqueue_script('animejs');
wp_register_script('scriptjs', get_template_directory_uri() . "/js/script.js", array('animejs'), '', true );
wp_enqueue_script('scriptjs');
}
add_action('init', 'load_my_scripts');
Сайт, на котором возникает проблема, это: http://www.provokatur.at/
Я действительно надеюсь, что кто-то может мне помочь, спасибо.
2 ответа
Я понял.
Я больше не ставлю файл anime.js в очередь, я просто регистрирую его:
wp_register_script('animejs', 'https://cdnjs.cloudflare.com/ajax/libs/animejs/2.2.0/anime.min.js');
После этого анимация просто не выполнялась, все, что я сделал, чтобы исправить это, было добавить
jQuery(document).ready(function($){
//Code goes here
})
Очевидно, это выполняет анимацию с помощью jQuery... Хотя я действительно не понимаю причины этого, я все же надеюсь, что мое объяснение поможет некоторым людям.
Если вы уверены, что ваш код правильный, не забудьте добавить <?php get_footer(); ?>
на странице
редактировать: я пытался использовать animejs в моих темах, и этот код работал для меня
function load_my_scripts() {
wp_register_script('animejs', 'https://cdnjs.cloudflare.com/ajax/libs/animejs/2.2.0/anime.min.js');
wp_enqueue_script('testscript', get_template_directory_uri(). '/js/test.js', array('animejs'), '', true);
}
add_action ('wp_enqueue_scripts', 'load_my_scripts');