Невозможно установить Kepler React - TypeScript - PullRequest
1 голос
/ 21 апреля 2020

Я установил Kepler.g следующим образом:

npm i kepler.gl

он был добавлен в мой пакет. json:

"kepler.gl": "^2.1.2"

Однако, если я пытаюсь импортировать:

import keplerGlReducer from "kepler.gl/reducers";

Я получаю сообщение об ошибке

Could not find a declaration file for module 'kepler.gl/reducers'. '/Users/grannyandsmith/web/web-admin/node_modules/kepler.gl/reducers.js' implicitly has an 'any' type.
  Try `npm install @types/kepler.gl` if it exists or add a new declaration (.d.ts) file containing `declare module 'kepler.gl/reducers';`ts(7016)

Я также пытался

npm install @types/kepler.gl

, но, как и ожидалось, это дает мне npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/@types%2fkepler.gl - Not found

Как можно Я это исправлю?

Редактировать:

Файл tsconfig:

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "preserve",
    "typeRoots": ["types/global.d.ts"]
  },
  "include": [
    "src"
  ]
}

1 Ответ

0 голосов
/ 21 апреля 2020

Если типы недоступны для конкретной библиотеки, в которую вы добавляете данные. Вот два варианта.

  • Добавьте наборы самостоятельно (это может быть затруднительно, так как вы должен понимать полный API). Преимущество этого в том, что все наборы будут доступны.

  • Другой вариант - создать файл объявлений *d.ts, в котором вы сообщите TS, эй, я знаю, что делаю. Недостатком является то, что у вас не будет доступных наборов и автозаполнение не будет работать.

@types/index.d.ts (необходимо разрешить TS знает, чтобы найти типы здесь)

declare module 'kepler.gl/reducers';
...