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

使用ngx-monaco-editor浏览器代码编辑器不显示问题求助

解决ngx-monaco-editor无法显示的问题

从控制台错误来看,核心问题是无法加载monaco-editor的资源文件,以下是针对性的排查和修复步骤:

1. 确认依赖正确安装

确保已安装ngx-monaco-editor及依赖的monaco-editor:

npm install ngx-monaco-editor monaco-editor --save

若使用yarn:

yarn add ngx-monaco-editor monaco-editor

2. 修正baseUrl配置

你当前配置的baseUrl: 'app-name/assets'大概率不符合实际资源路径:

  • 开发环境下,monaco-editor资源默认会被拷贝到assets/monaco-editor目录,因此baseUrl应设为'assets'(或直接省略,默认值即为'./assets')。
  • 生产构建时,需在angular.json中配置资源拷贝规则,将node_modules中的monaco-editor资源复制到输出目录:
    在angular.json的projects -> [你的项目名] -> architect -> build -> options -> assets数组内添加:
    {
      "glob": "**/*",
      "input": "node_modules/monaco-editor",
      "output": "assets/monaco-editor"
    }
    

修正后的app.module配置示例:

import { MonacoEditorModule, NgxMonacoEditorConfig } from 'ngx-monaco-editor';

const monacoConfig: NgxMonacoEditorConfig = {
  defaultOptions: { scrollBeyondLastLine: false },
  onMonacoLoad: () => { console.log((<any>window).monaco); }
};

@NgModule({
  ...
  imports: [
    ...
    MonacoEditorModule.forRoot(monacoConfig)
  ],
})
export class AppModule {}

3. 确保FormsModule已导入

由于你使用了[(ngModel)]双向绑定,必须在模块中导入FormsModule:

import { FormsModule } from '@angular/forms';

@NgModule({
  ...
  imports: [
    ...
    FormsModule,
    MonacoEditorModule.forRoot(monacoConfig)
  ],
})
export class AppModule {}

4. 验证容器高度有效性

虽然已设置父div高度为500px、编辑器高度为100%,可通过添加边框验证样式是否生效:

<div style="height: 500px; border: 1px solid red">
    <ngx-monaco-editor style="height: 100%" [options]="editorOptions" [(ngModel)]="code"></ngx-monaco-editor>
</div>

若边框正常显示,说明高度配置无误;若边框不显示,排查是否有其他样式影响父容器高度。

完成以上步骤后重启开发服务,即可正常加载monaco编辑器。

内容的提问来源于stack exchange,提问作者Rodney Mupanduki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:05:43