我Storybook.js
在使用另一个名为NSwag TypeScriptClientGenerator的库时遇到问题。
所以我不确定这是一个错误还是我的配置错误,但这里有详细信息。
TLDR 版本:
NSwag 生成一个包含数百个类的巨大 API 客户端文件。然后Storybook.js
在尝试加载所有这些类时崩溃
更多细节:
我正在开发一个使用 REST API 的 Angular 项目。这个 API 有很多端点,我使用NSwag
它是为了对这个 API 调用进行编译检查。
NSwag
阅读 API 描述(openAPI/swagger),然后生成一个 typescript 文件,描述所有 API 端点和所有参数和返回类型。
这会导致一个非常大的打字稿文件,其中包含很多接口/类/函数。生成的代码行超过 30k 行,文件为2mo
.
现在来了 Storybook.js。当我运行npm run storybook
该工具时,首先创建documentation.json
文件。
该文件包含每个类/接口 1 个 json 条目,并且对于这些条目中的每一个,都有一个sourceCode
包含文件源代码的成员。
问题是该sourceCode
成员包含所有文件代码,而不仅仅是类或接口代码。
由于该文件包含数百个类和接口,因此所有这些类都在documentation.json
文件中进行了描述,并且所有这些条目都包含一个sourceCode
包含所有 30k 行代码的成员(在屏幕截图中,行601
是1,599,000
字符-> 有数百行像这在文件的其余部分)。
结果documentation.json
文件大于700mo
. 结果是故事书在尝试解析那个巨大的文件时崩溃了。
你有什么技巧可以解决这个问题吗?
问题:
是否可以告诉Storybook.js
忽略此文件?如果是的话:这样做有什么缺点吗?
或者是否可以告诉Storybook.js
不要创建此条sourceCode
目?
或者也许可以要求 NSwag Typescript Generator 为每个类生成一个文件?