摩纳哥编辑器 - “[ts] 未终止的正则表达式文字”

monaco editor - "[ts] Unterminated regular expression literal"

TS 编译器无法识别 jsx 标签,并且无法解析它们。

只有当我将语言设置为 'typescript'
时才会发生这种情况 ('typescriptReact' 没有内置语言 :(


如何配置 monaco 使其接受 jsx?

我试过了:

monaco.languages.typescript.typescriptDefaults.setCompilerOptions(options)
我检查了所有选项,但 none 似乎有效。 (尤其是 jsx: 'react' 选项。

monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({})
{ noSyntaxValidation: true})
有效,但从 TS 中删除了所有验证。 :S

最后我确定语言设置为 'typescript':
monaco.editor.createModel("const a = <div></div>", "typescript", undefined)
(是的,我也尝试了文件路径)

tl;dr - yes, the file needs to be '.tsx'.

我有一个 Editor Model 实例,文件名是 undefined
设置文件名的正确方法是使用 Uri.file(filepath) 作为路径,
并且 .tsx 这些错误消失了(但 .ts 文件没有)。


作为奖励,我可以保留 撤消历史记录,只要我重新使用现有模型。

太棒了!