1
我尝试使用具有角2.我的分量微软摩纳哥编辑器的ReferenceError:摩纳哥没有定义
declare const monaco: any;
declare const require: any;
export class MonacoEditorComponent implements AfterViewInit {
ngAfterViewInit() {
let onGotAmdLoader =() => {
// Load monaco
(<any>window).require(["vs/editor/editor.main"],() => {
this.initMonaco();
});
};
// Load AMD loader if necessary
if (!(<any>window).require) {
let loaderScript = document.createElement("script");
loaderScript.type = "text/javascript";
loaderScript.src = "vs/loader.js";
loaderScript.addEventListener("load", onGotAmdLoader);
document.body.appendChild(loaderScript);
} else {
onGotAmdLoader();
}
}
initMonaco() {
let myDiv: HTMLDivElement = this.editorContent.nativeElement;
let options = this.options;
options.value = this._value;
options.language = this.language;
this._editor = monaco.editor.create(myDiv, options);
}
}
所以基本上,我试图加载摩纳哥第一个通过检查的,如果条件window.require,一旦摩纳哥的主editor.main文件被加载我想创建一个编辑器使用monaco.editor.create()。但即使在加载editor.main.js之后,它也无法解析摩纳哥。我试图在initMonaco函数中调试并查看monaco的值,但它显示为不可用。难道我做错了什么?
注意:VS已经解析到摩纳哥编辑器/ min/vs,并且它也能够将js文件加载到浏览器。此外,像选项和_value所使用的所有变量在组件中声明(我从这里删除它们)。
你在哪里启动了“摩纳哥”? –
摩纳哥应该由摩纳哥的editor.main.js文件解决吗? – Sri
不可以。您必须在上下文中为其提供参考 –