我有一个使用node.js的打字稿项目。有一个模块,我想使用npm包country-code-lookup。
问题在于它没有支持的类型声明。但是,我仍然想使用它。
是否有可能不用输入就可以使用此软件包。
vault_postgres_password: "theReal-postgres-password-is-protected"
当打字稿尝试编译时,出现以下错误。
TS7016:找不到模块的声明文件 “国家代码查询”。 '/Users/kay/portal/node_modules/country-code-lookup/index.js' 隐式地具有“ any”类型。 如果存在,请尝试
的新声明(.d.ts)文件。import * as CountryCodeLookup from "country-code-lookup"; const countryCodes = CountryCodeLookup.countries; console.log(countryCodes);
或添加一个包含npm install @types/country-code-lookup
答案 0 :(得分:1)
如果仅忽略该库的所有类型检查功能就没有问题,则有两种选择:
// @ts-ignore
,如下所示:// @ts-ignore
import * as CountryCodeLookup from "country-code-lookup";
any
类型的声明文件,因此所有导入都被自动认为是any
类型。为此,请创建一个文件src/types/country-code-lookup/index.d.ts
添加以下声明:
// country-code-lookup/index.d.ts
declare module 'country-code-lookup';
稍后,在此文件中,您可以添加自己的类型定义。如果它们足够好,请推动他们去做DefinitelyTyped,以便所有社区都可以使用和改进它!