我有一个包含在我经常使用的模块中的库,所以我想将它提升为“全局”并在不需要它的情况下使用。
在纯javascript中
window.mylib = require("mylib")
但我发现在typescript中很难做到,因为显然不能混合使用“module”和“ambient”代码。所以这不起作用:
import MyLib = require("mylib");
window.mylib = MyLib;
interface Window {
mylib: mylib;
}
因为窗口接口只对一个文件进行了扩充。
有没有办法做到这一点(这不包括生成自定义mylib.d.ts)?
最佳答案
你应该这样做:
你的模块.ts
import MyLib = require("mylib");
export {};
declare global {
interface Window {
mylib: mylib;
}
}
window.mylib = MyLib;
然后在需要时导入:
import "./yourModule";
这是Global augmentation中的简短讨论。
关于typescript - 如何在 typescript 中将模块提升为全局模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39189420/