[英]How to use import with “declare” keyword in TypeScript?
我有一个带有变量声明的 d.ts 文件,如下所示:
declare var $: () => SomeValue;
而且效果很好,在其他地方我可以在不导入的情况下使用这个变量。
但是,当我从另一个模块添加一些导入时,这个变量在其他代码中是不可见的。
import { SomeValue } from "./SomeModule";
declare var $: () => SomeValue;
这个需要什么语法?
当.d.ts
文件使用export
或import
时,它们被视为module
而不是环境typings
。
但是,您仍然可以使用declare global
添加到全局命名空间。 这允许您扩充全局类型,甚至添加新的全局类型:
.d.ts
import { SomeValue } from "./SomeModule";
declare global {
interface Window {
$: () => SomeValue;
}
interface SomeGlobalInterface {
x: number;
}
}
.ts
// () => SomeValue
window.$
let value!: SomeGlobalInterface;
value.x;
您需要将“export”关键字添加到变量中。
export declare var $: () => SomeValue;
如果您希望此变量仅在同一文件中可用,则无需添加“export”关键字。 但是,如果您希望它在其他文件中使用,则需要添加“export”关键字。
常量、函数和类也是如此。 向其中添加“导出”将使其可供其他文件导入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.