如何通过TypeScript中的环境变量从另一个目录导入?

时间:2018-01-15 20:33:23

标签: angular typescript

考虑这种情况和文件系统架构:

一堆实用程序/好东西/助手/组件/存储在一堆Git存储库中的任何东西(这不能是monorepo,因为它需要支持源代码的多租户支持)。所以,我们在c:\framework\angular说明了这些共享内容。

现在公司A有一个项目需要从这个共享位置访问一些组件。 A公司的项目位于d:\companyA\projectOneWeb

通过相同的逻辑,CompanyB有一个需要使用和访问相同共享内容的项目。 CompanyB&#39的项目位于e:\companyB\projectOneWeb

所以,我们有:

c:\framework\angular
d:\companyA\projectOneWeb
d:\comapnyA\anotherProject
e:\companyB\projectOneWeb
e:\companyB\anotherProject

当开发人员将这些存储库映射到他的计算机时,他可以按照他想要的任何顺序执行此操作,但他必须按惯例定义环境变量

frameworkRoot=c:\framework\angular
companyARoot=d:\companyA
companyBRoot=e:\companyB

现在考虑一批开发人员,这些开发人员正在处理许多公司的100个项目并且仍在增长。

我们希望降低成本,并通过类似项目尽可能多地重复使用。然而,我们当然不想复制/粘贴。

我们如何通过使用已为该系统定义的环境变量,在TypeScript中将c:\framework\angular中的内容导入d:\companyA\projectOneWeb

如果我们认为 ProjectOneWeb 中有catalog.component.ts,我们希望能够写出来:

// psudo import
import * from env.get('frameworkRoot')/components/social

webpack和生态系统的其他工具是否会支持它?

0 个答案:

没有答案