【发布时间】: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