我是摩纳哥和打字稿的新手。我正在尝试让JQuery代码完成在我的编辑器上工作。我已经尝试了几乎所有我能够找到的关于如何实现这个目标的例子。我觉得我很接近,但可能缺少一些基本的东西。
从DefinitelyTyped人员,我已经获得了他们的jquery目录并将其包含在我的web项目中。在创建我的Monaco编辑器的文件中,我有以下内容。
const path = "/jslib/monaco/types/jquery/index.d.ts";
const typings = readTextFile(path);
monaco.languages.typescript.javascriptDefaults.addExtraLib(typings, path);
readTextFile()
只是一个小功能,我用来获取index.d.ts的内容(我可以确认它正在工作)。这是我的摩纳哥设置的其余部分。
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
target:
monaco.languages.typescript.ScriptTarget.ES2016,
allowNonTsExtensions: true,
module: monaco.languages.typescript.ModuleKind.System,
noEmit: true,
typeRoots: ["/jslib/monaco/types"],
noLib: true
});
window.editor = monaco.editor.create(document.getElementById('monacodiv'), {
value: $("#formula").val(),
language: 'javascript',
theme: "vs-dark",
autoIndent: true,
dragAndDrop: true,
tabCompletion: true,
fontFamily: "monospace",
scrollBeyondLastLine: false
});
如果有人能让我知道我做错了什么,那就太棒了!
所以我只是遇到了这个问题,在深入研究DefinitelyTyped定义后,我注意到index.d.ts
只是聚合了来自四个不同文件(JQueryStatic
,JQuery
,misc
,legacy
)的内容。通过重复使用addExtraLib
添加所有这些文件的内容应该工作!否则,不确定monaco
如何找到内容。