在 Multi-Tenancy 项目中,租户可以具有不同的 UI 和功能。为此,有一个这样的结构:
TenantA
SiteHeader.ts (class named SiteHeader)
TenantB
SiteHeader.ts (class named SiteHeader)
... 20 other tenants
在网页上,.js 声明动态生成(服务器端)对正确租户的引用:
<script src="../{CurrentTenant}/SiteHeader.js"></script>
在同一页面上,Main.ts 需要引用正确的 SiteHeader。因为我不能(也不想)从 'TenantA/SiteHeader' 导入 {SiteHeader}
和 从 'TenantB/SiteHeader' 导入 {SiteHeader}
和另外 20 个,我被迫简单地将其声明为 var,它指向父页面加载的任何 js:
declare var SiteHeader;
但是,它会导致每个 SiteHeader.ts 中出现重复标识符错误。偶尔也会出现在 Main.ts 中。我可以进入命令行并手动编译每个 SiteHeader.ts,但这很麻烦。
遇到这种情况我该如何解决?
这并不重要,尝试将 TypeScript 引入 Visual Studio 2019 中的老式 WebForms 项目。
最佳答案
您可以创建interface SiteHeader
并让所有租户执行。但我不确定运行时如何与 <script>
一起工作标签与外部模块相结合。您考虑过internal modules (namespaces)或使用dynamic import()
(TypeScript 应该支持)?
关于javascript - 如何处理一个项目中多个相同的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60838083/