我正在使用以下Visual Studio 2017扩展为我的MVC-ViewModel生成TypeScript接口:TypeScript Definition Generator
我尝试了不同的产品,但它们都产生相同的输出(* .cs.d.ts-File):
declare module server {
interface mycustomtype {
id: any;
description: string;
}
}
在我的其他TypeScript文件中,我尝试过使用模块/类型的不同变体,但所有这些都会产生错误:
import { mycustomtype } from '.././../../../../Models/mycustomtype.cs';
以上产生错误,mycustomtype
不是模块。如果我将定义生成器的输出更改为export module
- 模块被识别但不是类型。
我也尝试过使用:
/// <reference path=".././../../../../Models/mycustomtype.cs" />
以上作品但Visual Studio中的intellisense不会向我显示server.mycustomtype
或mycustomtype
。
所以我的问题是:我如何使用这些声明的模块?在另一篇文章中,我发现声明一个没有引号的模块会创建一个内部&#34;模块。那是问题吗?由于有几个TypeScript定义生成器产生相同的输出,我猜问题不是输出 - 它是我。
答案 0 :(得分:0)
d.ts是您的定义文件,与模块无关,仅用于智能感知。
因此,.d.ts文件仅用于告知TypeScript类/接口/枚举已在其他位置创建。 顺便说一句,您需要在某个地方实现它。否则,您可以描述从API请求中获取的变量,也可以将其描述为函数变量。
这就是为什么我看不到需要使用它的原因。而不是我建议只使用导出和导入。在TypeScript Definition Generator的实现中,我意识到了这种可能性。