модуль ошибки машинописи угловых путевых точек не найден - PullRequest
0 голосов
/ 19 декабря 2018

Я установил библиотеку путевых точек с путевой точкой установки 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 () {

  },
});

Я получу еще одну ошибку ->

Модуль не найден: Ошибка: Не удается разрешить 'путевые точки'

1 Ответ

0 голосов
/ 10 апреля 2019

Экспорт

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, все получится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...