Я установил AnimeJS со следующими командами в моем проекте Ionic 4:
npm i animejs --save
npm i @types/animejs --save
Затем я попытался сослаться на него с помощью:
import * as anime from 'animejs'
Выполнение вышеизложенного дает мнеследующая ошибка при вызове чего-либо из animejs:
Ошибка: Uncaught (в обещании): TypeError: Объект не является функцией (рядом с '... animejs__WEBPACK_IMPORTED_MODULE_1 __...')
Однако, если я импортирую, ссылаясь на anime.js
в каталоге node_modules, все будет работать так, как ожидалось.Я подумал, установив @types/animejs
, это позволило бы мне использовать просто import * as anime from 'animejs'
без прямой ссылки на файл в каталоге node_modules.
Почему я могу импортировать, используя папку node_modules, но не import * as anime from 'animejs'
После импорта я называю это так:
openModal(modalPage) {
// Define modal to open
switch (modalPage) {
case 'login' : {
modalPage = LoginPage;
break;
}
case 'register' : {
modalPage = RegisterPage;
break;
}
}
// Open modal
this.modalCtrl.create({
component: modalPage,
cssClass: 'intro-modal',
showBackdrop: true,
enterAnimation: this.animations.modalEnter
}).then(modal => {
// Hide intro buttons
anime({
targets: ['.intro-buttons'],
translateX: '-100%',
duration: 150,
easing: 'linear'
});
// Animate slide back
modal.onWillDismiss().then(() => {
anime({
targets: ['.intro-buttons'],
translateX: '0%',
duration: 150,
easing: 'linear'
});
});
// Present the modal
modal.present();
});
}