Как автоматически установить @types для всех узловых модулей - PullRequest
2 голосов
/ 07 марта 2020

Я новичок в Typescript и NodeJs. Всякий раз, когда я упоминаю модуль узла в package.json и при импорте модуля узла я всегда получаю следующие ошибки:

Could not find a declaration file for module 'ini'. 'e:/typescript-2020-1/parser1/node_modules/ini/ini.js' implicitly has an 'any' type.
  Try `npm install @types/ini` if it exists or add a new declaration (.d.ts) file containing `declare module 'ini';`

  Could not find a declaration file for module 'json-query'. 'e:/typescript-2020-1/parser1/node_modules/json-query/index.js' implicitly has an 'any' type.
  Try `npm install @types/json-query` if it exists or add a new declaration (.d.ts) file containing `declare module 'json-query';`

Чтобы решить эту проблему, я всегда ищу и устанавливаю следующее в package.json как указано ниже.

"dependencies": {
        "ini": "^1.3.5",
        "@types/ini": "^1.3.30",
        "json-query": "^2.2.2",
        "@types/json-query": "^2.2.0"
        "@types/node": "^13.9.0"
    }

Как избежать включения всех типов узловых модулей указанных c типов. Можно ли сделать так, чтобы @types/<node module> автоматически добавлялся в node_modues без непосредственного добавления к package.json? Я попытался добавить следующее в tsconfig.json также, но это не работает.

"typeRoots": [
            "node_modules/@types"
        ],

Опять мой вопрос: «Всегда ли необходимо добавлять @types для каждого модуля узла? Пожалуйста, помогите мне, чтобы решить это.

1 Ответ

0 голосов
/ 07 марта 2020

Если пакет npm содержит типы, вы получите их бесплатно при установке.

Если нет, то вы сможете найти их в пространстве имен @types на npm.

Существует полезный инструмент под названием typa c, который можно установить или запустить с помощью npx, который попытается установить @types для вашего пакета, когда вы используете его для установки любого npm пакет.

т.е.

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