Разделение кода - как правильно настроить набор текста? - PullRequest
0 голосов
/ 05 ноября 2018

В основном я импортирую эту библиотеку динамически, используя веб-пакет (так как он импортирует огромный список городов как json). Проблема, которую я имею, состоит в том, как установить набор текста в машинописи - рассмотрим:

async function GetLib()
{
  var country_state_city = (await import('country-state-city')).country_state_city;
}

Я хотел бы использовать country_state_city в других функциях моего кода.

Как мне установить тип country_state_city снаружи GetLib - я хочу что-то вроде

var country_state_city : typeof ((await import('country-state-city')).country_state_city)

Вы можете проверить с помощью intellisense (если вы используете VSCode) внутри GetLib, что файл определения типа, который я создал для этой библиотеки внутри /src/typings/country-state-city.ts, имеет следующее содержимое:

declare module "country-state-city" {
  export var country_state_city : {
    getAllCountries : () => any[]
  }
}

создается. Вот картинка:

IntelliSense

Если я напрямую импортирую типы библиотек следующим образом:

import {country_state_city} from "src/typings/country-state-city.d.ts"

Я получаю:

ОШИБКА в ./src/typings/country-state-city.d.ts Ошибка сборки модуля: Ошибка: машинописный текст не выдан для

SRC / типизация / страна-государство-city.d.ts.

at successLoader (node_modules/ts-loader/dist/index.js:39:15)


at Object.loader (node_modules/ts-loader/dist/index.js:21:12)
...