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

Angular项目运行tsuml2命令触发nomnoml库ParseError报错求助

解决思路

针对你在Angular项目中使用tsuml2 v0.10.0时遇到的nomnoml解析错误,以下是几个排查方向:

1. 终端对Glob模式的解析问题

你使用的Glob包含否定匹配规则,不同终端(如PowerShell、CMD、Git Bash)对这类模式的处理方式可能不同,导致tsuml2接收到错误的文件列表,进而生成无效的nomnoml语法。

  • 尝试将Glob用单引号包裹:
    tsuml2 --glob './src/**/!(*.d|*.spec).ts'
    
  • 若使用PowerShell,需要转义感叹号:
    tsuml2 --glob "./src/**/`!(*.d|*.spec).ts"
    

2. 特定TypeScript文件导致的生成错误

tsuml2会解析TS文件生成nomnoml代码,如果你的项目中有包含复杂类型(如深层嵌套泛型、特殊语法)的文件,可能导致tsuml2生成缺少闭合括号的无效nomnoml。

  • 缩小范围排查:先只解析单个目录,比如:
    tsuml2 --glob "./src/app/core/**/*.ts"
    
    逐步扩大范围找到引发错误的文件,检查该文件中的复杂类型,临时简化后再尝试生成。

3. tsuml2版本bug

v0.10.0可能存在已知的生成nomnoml的bug,尝试更新到最新版本:

# 全局安装的情况
npm update tsuml2 -g
# 本地开发依赖的情况
npm update tsuml2 --save-dev

4. nomnoml依赖版本问题

tsuml2 v0.10.0捆绑的nomnoml版本可能存在解析缺陷,可尝试强制升级nomnoml:
在package.json中添加:

"overrides": {
  "tsuml2": {
    "nomnoml": "^1.5.0"
  }
}

然后执行npm install,重新运行tsuml2命令。

内容的提问来源于stack exchange,提问作者Eyeless Whim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:27:36