You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular集成@ngstack/code-editor报错:ReferenceError: monaco is not defined

解决"ReferenceError: monaco is not defined"问题

以下是几种常见的原因和对应的解决方法:

  • Monaco Editor依赖未正确安装或加载
    @ngstack/code-editor依赖Monaco Editor,首先确保已安装该依赖:

    npm install monaco-editor --save
    

    然后在angular.json的scripts数组中添加Monaco的核心脚本路径:

    "scripts": [
      "node_modules/monaco-editor/min/vs/loader.js",
      "node_modules/monaco-editor/min/vs/editor/editor.main.js"
    ]
    
  • 模块初始化不完整
    在导入CodeEditorModule时,必须调用forRoot()方法完成模块初始化,确保在AppModule或使用编辑器的功能模块中正确配置:

    import { CodeEditorModule } from '@ngstack/code-editor';
    
    @NgModule({
      imports: [
        // 其他模块
        CodeEditorModule.forRoot()
      ]
    })
    export class AppModule { }
    
  • 生产构建缺失Monaco资源
    若使用生产构建,需要在angular.json的assets配置中添加Monaco的静态资源路径,确保构建时能正确复制相关文件:

    "assets": [
      "src/favicon.ico",
      "src/assets",
      {
        "glob": "**/*",
        "input": "node_modules/monaco-editor/min/vs",
        "output": "/vs/"
      }
    ]
    
  • 延迟加载组件的加载顺序问题
    如果编辑器所在组件是延迟加载的,可能Monaco脚本还未加载完成就初始化了编辑器。可以在组件中添加检查逻辑,确保Monaco加载完成后再初始化:

    import { Component, OnInit } from '@angular/core';
    declare const monaco: any;
    
    @Component({
      selector: 'app-code-editor',
      templateUrl: './code-editor.component.html'
    })
    export class CodeEditorComponent implements OnInit {
      editorOptions = { theme: 'vs-dark', language: 'typescript' };
      codeContent = '// 示例代码';
    
      ngOnInit(): void {
        if (typeof monaco === 'undefined') {
          const script = document.createElement('script');
          script.src = 'node_modules/monaco-editor/min/vs/editor/editor.main.js';
          script.onload = () => {
            // 脚本加载完成后可执行编辑器初始化逻辑
          };
          document.body.appendChild(script);
        }
      }
    }
    
  • 版本兼容性问题
    确认@ngstack/code-editor的版本与你的Angular版本匹配,不同Angular版本需要对应版本的编辑器包,可查看包的官方文档确认兼容范围,避免因版本不匹配导致的加载异常。

内容的提问来源于stack exchange,提问作者Nemanja Andric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 01:45:33