gpt4 book ai didi

node.js - 当找不到声明文件时如何使用模块

转载 作者:太空宇宙 更新时间:2023-11-03 22:57:34 26 4
gpt4 key购买 nike

我有一个使用node.js 的 typescript 项目。有一个模块我想使用 npm 包国家/地区代码查找。

问题是它没有支持类型声明。不过,我还是想用它。

我是否仍然可以使用这个包而不需要打字。

import * as CountryCodeLookup from "country-code-lookup";

const countryCodes = CountryCodeLookup.countries;
console.log(countryCodes);

当 typescript 尝试编译时,我收到以下错误。

TS7016: Could not find a declaration file for module 'country-code-lookup'. '/Users/kay/portal/node_modules/country-code-lookup/index.js' implicitly has an 'any' type. Try npm install @types/country-code-lookup if it exists or add a new declaration (.d.ts) file containing declare module
'country-code-lookup';

最佳答案

如果您只需忽略此库的所有类型检查功能就没有问题,那么您有两个选择:

  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 ,以便所有社区都可以使用和改进它!

    关于node.js - 当找不到声明文件时如何使用模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56688893/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com