【发布时间】:2020-07-23 03:50:29
【问题描述】:
我已经集成了monaco 编辑器,可以编写简单的sn-ps 代码。
我想让 typescript 变量在这个 sn-ps 中全局可用,并为其提供有效的智能感知。
我正在使用此代码加载打字稿类型:
const typings = await fetch(path).then(r => r.text());
monaco.languages.typescript.javascriptDefaults.addExtraLib(typings, path);
但显然没有任何额外的认为它不起作用。因为打字稿类型是作为模块创建的,并且不会向全局公开任何内容。
我可以用这样的东西创建一个全局变量:
monaco.languages.typescript.javascriptDefaults.addExtraLib(`
declare const typescript: any;
`, 'global.d.ts');
但是我不能为这个变量分配typescript 类型。我试过这个
monaco.languages.typescript.javascriptDefaults.addExtraLib(typings, './typescript.d.ts');
monaco.languages.typescript.javascriptDefaults.addExtraLib(`
import * as ts from './typescript.d.ts';
declare global {
const typescript: typeof ts;
}
`, 'global.d.ts');
});
但没有运气。它不起作用。
如何将模块公开为全局变量?
【问题讨论】: