【问题标题】:How do I use date-fns with TypeScript?如何在 TypeScript 中使用 date-fns?
【发布时间】:2021-08-22 17:08:25
【问题描述】:

我有一个带有 TypeScript 的 ASP.NET Core 网站。我的 ASP.NET Core 设置很典型,因为它在项目的根目录中有一个 node_modules 文件夹,然后我使用 Gulp 将我正在使用的库的源文件夹从 node_modules 复制到 wwwroot/lib

因此,我在 wwwroot/lib/date-fns 和我的 TypeScript .ts 文件中有 date-fns 源文件,我试图像这样导入它:

import * as fns from "lib/date-fns/i.am.stuck.here.js";

VS2019 代码编辑器正在自动完成文件夹以便它可以看到它,但我不知道要输入什么.js 文件,它不建议一个。

我也不知道是否应该导入 * 或其他内容。我不是前端开发人员,所以我在 TS 和 JS 以及导入和要求以及所有这些东西上苦苦挣扎。

我可以看到 date-fns 有一个类型文件,所以我认为这对于那些知道的人来说是直截了当的。


更新:

我发现了这个:

https://github.com/date-fns/date-fns/blob/master/examples/typescript/example.ts

这很奇怪,因为将我的代码更新为以下内容,这是在编辑器读取磁盘上的文件夹时自动建议的:

import { format } from "lib/date-fns";

给我一​​个错误:

error TS2307: Cannot find module 'lib/date-fns' or its corresponding type declarations.

当我导入 moment.js 时,我将它指向 .js 文件本身,这是自动建议的。

另外,如果我更改为 'lib/date-not-exist',我会遇到同样的错误,所以我无法判断这是文件路径存在问题还是 TypeScript 定位模块问题。


更新:

我可以让 TypeScript 来消除错误,并大概找到一个带有此功能的模块:

import * as dformat from "lib/date-fns/format/index";

但这不起作用,因为:

var result = dformat(date, 'dd.MM.yyy HH:mm:ss');

给出错误:

error TS2349: This expression is not callable.

【问题讨论】:

    标签: typescript date-fns


    【解决方案1】:

    如果您在导入通常在浏览器中使用 TypeScript 和 JavaScript 的模块时遇到问题,请参阅我在 Import a JavaScript module or library into TypeScript 中的回答。

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2021-10-08
      • 2019-12-18
      • 1970-01-01
      • 2023-03-09
      • 2020-12-18
      • 2021-11-16
      • 2021-12-22
      • 2020-05-08
      相关资源
      最近更新 更多