我在将名称以符号开头的自定义类型定义添加到Monaco Editor时遇到问题。@
这是一个应该说明我要实现的目标的示例:
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES2016,
allowNonTsExtensions: true,
module: monaco.languages.typescript.ModuleKind.CommonJS,
noEmit: true,
typeRoots: ["node_modules/@types"]
});
monaco.languages.typescript.typescriptDefaults.addExtraLib(
"export class Foo { }",
"node_modules/@types/@my-module/sub/index.d.ts"
);
monaco.editor.create(document.getElementById("container"), {
model: monaco.editor.createModel(
`import * as x from "@my-module/sub"`,
"typescript",
new monaco.Uri("main.ts")
)
});
这不起作用,因为我的自定义模块被调用@my-module/sub
。如果在此示例中我将模块名称替换为,my-module/sub
那么一切都按预期工作,我得到了 Intellisense。你知道摩纳哥是否支持这种情况,如果支持,那么正确的方法是什么?显然,更改我的模块名称不是一种选择。
您可以在Monaco Playground中尝试此代码段。