Модуль ошибки машинописи угловых путевых точек не найден

Я установил библиотеку путевых точек с помощью путевых точек установки 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 сделал бы трюк.

Другие вопросы по тегам