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

升级monaco-editor至v0.41.0后TypeScript注册失败,如何获取其Worker?

解决monaco-editor v0.41.0+ "TypeScript not registered!" 错误

从v0.41.0版本开始,monaco-editor不再自动内置TypeScript服务的注册逻辑,需要手动完成TypeScript的注册配置,具体操作如下:

1. 补全依赖安装

如果项目未安装typescript包,先执行安装:

npm install typescript --save
# 或
yarn add typescript

2. 初始化前注册TypeScript服务

在创建编辑器实例之前,添加以下代码完成TypeScript的注册配置:

import * as monaco from 'monaco-editor';
import typescript from 'typescript';

// 配置TypeScript编译选项(可根据需求调整)
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
  target: monaco.languages.typescript.ScriptTarget.ESNext,
  module: monaco.languages.typescript.ModuleKind.CommonJS,
  strict: true,
  esModuleInterop: true,
  skipLibCheck: true,
  forceConsistentCasingInFileNames: true
});

// 注册TypeScript Worker
monaco.languages.typescript.typescriptDefaults.setWorker(async () => {
  const workerModule = await import('monaco-editor/esm/vs/language/typescript/ts.worker?worker');
  return new workerModule.default();
});

3. 保持原有运行代码不变

你之前编写的编辑器动作代码无需修改,但要确保上述注册逻辑先于编辑器实例创建执行,保证TypeScript服务已完成注册。

CDN引入场景补充

如果项目通过CDN引入monaco-editor,需额外配置Worker路径:

monaco.config({
  paths: {
    'vs': 'https://cdn.jsdelivr.net/npm/monaco-editor@0.41.0/min/vs'
  },
  worker: {
    'typescript': 'https://cdn.jsdelivr.net/npm/monaco-editor@0.41.0/min/vs/language/typescript/ts.worker.js'
  }
});

内容的提问来源于stack exchange,提问作者Martin Schuhfuß

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 02:06:05