Модуль ошибки машинописи угловых путевых точек не найден
Я установил библиотеку путевых точек с помощью путевых точек установки npm и добавил типы
npm install --save @types/waypoints
,
Я получаю сообщение об ошибке /node_modules/@types/waypoints/index.d.ts'не является модулем.
Использование waypoints.js в приложении Angular 4
обсуждает ту же проблему. У пользователя была такая же ошибка. Один комментарий предлагает "Использовать экспорт имя_пакета = имя_пакета. Это должно работать". Я не знал, как это реализовать.
Я пытался добавить
export = waypoints
export as namespace waypoints;
declare namespace waypoints {
}
import * as Waypoint from 'waypoints';
Когда я тогда пытаюсь импортировать путевую точку, я не получаю ошибку. Но если я тогда добавлю путевую точку следующим образом:
let waypoint = new Waypoint.Waypoint({
element: document.querySelector("#p5"),
handler: function () {
},
});
Я получаю еще одну ошибку ->
Модуль не найден: ошибка: не удается разрешить "путевые точки"
0 ответов
Экспорт
export = waypoints
export as namespace waypoints;
declare namespace waypoints {
}
не решит проблему. Ничего не меняйте в @types/waypoints, просто добавьте declare const Waypoint: any;
к компоненту, где вам это нужно. Как простой пример
declare const Waypoint: any; // Declare the Waypoint class here to access it
@Component({
selector: 'my-comp',
template: '<div id="abc">Abc</div>',
})
export class MyComponent implements OnInit {
ngOnInit() {
let wp = new Waypoint({
element: document.getElementById("abc"),
handler: (direction) => {
if (direction == 'down') {
wp.element.classList.add("fadeInUp");
wp.destroy();
}
},
offset: '95%'
});
}
}
Это решает ошибку (ы) компиляции. Как мы знаем, что Waypoint
будет присутствовать, когда приложение будет запущено, поэтому просто объявляет Waypoint
класс по типу any
сделал бы трюк.