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
不可以。您必須在上下文中爲其提供參考 –