如何将日期fns与TypeScript一起使用



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

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

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

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

我也不知道是应该导入*还是其他什么。我不是一个前端开发人员,所以我很难处理TS和JS以及导入和需求等问题。

我可以看到日期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和JavaScript的模块时遇到问题,请参阅将JavaScript模块或库导入TypeScript中的答案。

您需要使用从NPM安装日期fns包

npm install --save date-fns

最新更新