Использование нетипизированной листовки с angular 8 вызывает проблемы - PullRequest
0 голосов
/ 12 января 2020

Я не хочу использовать @ ts-ignore где угодно, вместо этого я объявил модуль L в отдельном файле ts с необходимыми типами, в сборке все работает нормально, но в тесте происходит сбой и выдается

error TS2686: 'L' refers to a UMD global, but the current file is a module. Consider adding an import instead.

declare module L {
  // plugins that extend Class i.e L.MyClass
  export let WFS: any;
  export let Filter: any;
  // export type WFS;

  // plugins that uses class factory i.e myClass
  // export let myClass: any;

  // plugins that extend Control comes here i.e L.Control.Navbar
  export namespace Control {
    export let Search: any;
  }
  // plugins that have control factories come here i.e. L.control.navbar
  export namespace control {
    export let groupedLayers: any;
  }

  // plugins that extend Layer comes here i.e L.Layer.NewLayer
  // export namespace Layer {
  // export let NewLayer: any;
  // }
  // plugins that have layer factories come here i.e. L.layer.newLayer
  // export namespace layer {
  //   export let newLayer: any;
  // }
  // plugins that extend Handler comes here i.e. L.Handler.NewHandler
  // export namespace Handler {
  //   export let NewHandler: any;
  // }
  // plugins that have handler factories come here i.e. L.Handler.newHandler
  // export namespace handler {
  //   export let newHandler: any;
  // }
}

И мой компонент похож на:

import 'leaflet';
import '../my_typings.ts';
import 'leaflet-wfst/dist/leaflet-wfst.src.js';

1 Ответ

1 голос
/ 12 января 2020

отсутствует спецификация c L импорта, попробуйте добавить

import * as L from 'leaflet';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...