我有一个带有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