“找不到模块”date-fns-tz“或其相应的类型声明。”以前有人遇到过这个问题吗?我已经安装了date-fns软件包。第一个月
i7uaboj41#
TLDR:更新为[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)以获得正确的类型导出。说明:
[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
我在将项目转移到ES模块时遇到了这个问题。data-fns-tz包括1.3.x的类型和ESM导出,但具有ESM特定的路径,例如data-fns-tz/esm/format。Node.js和TypeScript现在可以根据type属性在运行时选择正确的模块。因此,如果您的项目在其package.json中有"type": "module",那么运行时将知道根据依赖包导出来拉取ESM文件。data-fns-tz对CommonJS和ESM有单独的导入,因此类型不会自动流过。Here's the relevant PR,更改包中的导出模式,以便运行时基于type中设置的模块格式获取相关文件。在这里阅读更多关于类型字段的信息。
data-fns-tz
data-fns-tz/esm/format
type
package.json
"type": "module"
jvidinwx2#
@kacper你有没有试过这个命令-
npm i @types/date-fns-tz
字符串或
yard add @types/date-fns-tz
型有些软件包已经定义了它们的库(@types/module-name),你也可以添加这个,这样你就可以允许typescript检查类型声明。但最重要的是你必须首先安装主库包,即date-fns-tz。如果你仍然面临问题,让我知道。
2条答案
按热度按时间i7uaboj41#
TLDR:更新为
[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
以获得正确的类型导出。说明:
我在将项目转移到ES模块时遇到了这个问题。
data-fns-tz
包括1.3.x的类型和ESM导出,但具有ESM特定的路径,例如data-fns-tz/esm/format
。Node.js和TypeScript现在可以根据
type
属性在运行时选择正确的模块。因此,如果您的项目在其package.json
中有"type": "module"
,那么运行时将知道根据依赖包导出来拉取ESM文件。data-fns-tz
对CommonJS和ESM有单独的导入,因此类型不会自动流过。Here's the relevant PR,更改包中的导出模式,以便运行时基于
type
中设置的模块格式获取相关文件。在这里阅读更多关于类型字段的信息。
jvidinwx2#
@kacper你有没有试过这个命令-
字符串
或
型
有些软件包已经定义了它们的库(@types/module-name),你也可以添加这个,这样你就可以允许typescript检查类型声明。
但最重要的是你必须首先安装主库包,即date-fns-tz。
如果你仍然面临问题,让我知道。