问题标签 [declaration-files]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - TypeScript 声明文件找不到错误
消息.js
消息.d.ts
声明文件.ts
包含找不到错误。
如何解决错误?
typescript - 如何在声明文件(*.d.ts)中导入第三方模块?
我创建了类型声明文件(index.d.ts
),我需要使用第三方包('moment.js' in node_modules
)的对象作为类型。
我做了一个类似上面的代码,但它不起作用。如何在*.d.ts
文件中导入第三方模块?
javascript - .d.ts 文件中的意外标识符
我正在使用带有以下构建说明的打字稿。
我的一个.ts
文件导入了猫鼬。运行时npm start
出现以下错误。在.d.ts
文件中
注意“@types/mongoose”和“mongoose”已经是依赖项了。
collection1.model.d.ts 的内容如下。这是由tsc --emitDeclarationOnly
tsconfig.json
}
.babelrc
}
typescript - 在 TypeScript 中增强全局
如何添加fetch
到 TypeScript 中的全局对象,这样我就不必这样做了:
我在一个文件中试过这个./types/index.d.ts
并尝试通过将其包含在 tsconfig.json 中来引用它。
typescript - 如何在 ts 项目中提供手工编写的声明文件?
我有这些文件:
- 脚.ts
- foo.d.ts(手写)
- bar.ts
我想使用 TypeScript 生成以下输出
- foo.js
- foo.d.ts (和我亲手创作的一样)
- bar.ts
- 酒吧.d.ts
在这种情况下,TypeScript 会忽略我手工编写的 foo.d.ts,而只是从 foo.ts 生成一个 .d.ts。当有相应的 .ts 时,如何让 TS 通过手工编写的 .d.ts 文件?
typescript - 在打字稿中使用声明文件而不是源代码有什么好处吗?
使用 typescript 创建和发布库时,有 2 个选项:
与捆绑的 javascript 文件一起生成声明文件
d.ts
,然后使用以下命令package.json
指向它:“类型”:“./dist/mylib.d.ts”
不要生成声明文件,直接指向
package.json
witt 中的源代码:“类型”:“./src/index.ts”
每个人的来历是什么?
angular - TypeScript 声明文件在其文件夹位于 typeRoots 时未读取
在一个打字稿(Angular 9)项目中,我试图导入一个私有 JS 库。
当我导入它时,import { myMethod } from 'my-private-repo/dist/util';
我收到以下错误:
我试图解决在文件夹中添加声明文件的问题,该typings
文件夹具有以下内容:declare module "my-private-repo/dist/util";
,或者即使使用declare module "*";
但错误没有改变,就像我的声明文件在我更改我的 ts 配置以包含它时根本没有被读取:
我不明白为什么我的声明文件无法识别。
你有什么主意吗 ?
谢谢 :)
typescript - 环境打字稿定义未捆绑在库中
我正在使用 TSDX 工具来构建一个 react-typescript 库。我的@types/
目录中导出了许多类型,当我在应用程序中毫无问题地使用它们时,编译器清楚地选择了这些类型。
但是,在我的构建过程中,它们并没有被复制到我的输出包中,这让我感到惊讶,因为它们是通过代码引用的(确实被正确地捆绑了)。
typescript - 为什么非导出类型从 TS 声明文件中隐式导出,导入但没有导出?这是一个错误吗?
为什么非导出类型从 TS 声明文件中隐式导出,导入但没有导出?这是一个错误吗?如果不是,这种行为称为什么,是否记录在任何地方?
背景:
我知道在没有导入或导出的 TS 声明文件中,每个声明都变成了环境,并且在没有导入的情况下可用。
在带有 ECMAScript 模块导出的声明文件中,文件中的类型只有在显式导出时才可从其他文件中使用。
TS 声明文件似乎有第三种行为,它至少有一个导入或导出语句,但没有导出声明:此类文件中的任何变量/函数/接口等声明都可以从其他文件中导入,即使它们不是t 显式导出。
例子:
奇怪的.d.ts(从自我进口)
进口商.d.ts
澄清
请注意,如果没有导出声明,则未导出的声明只会从作为模块的 .d.ts 文件中泄漏。出口声明如下所示:
TS 将这种导出与带有导出修饰符的语句区别对待:
使用前一种语法可防止从其他文件导入未导出的声明。
typescript - .d.ts 文件中的错误何时会影响消费者?
如果 TS 文件使用包含错误的 .d.ts 文件,则有时消费者会因为这些错误而无法构建。其他时候,TS 默默地将有问题的类型转换为any
.
TS 选择报告这些错误时的规则是什么?我没有找到任何模式。