我有两个使用打字稿的项目。一个是核心项目:moduleA,另一个是业务项目:moduleB。项目B使用项目A的模块(ts文件)位于/scripts
文件夹。我想通过以下方式为projectB指定模块解析根文件夹projectA/scripts
。顺便说一句:项目之外的项目将合并到生产中。
这是我的文件结构
├───projectA
│ │ index.html
│ │ systemjs.config.js
│ │ tsconfig.json
│ │
│ └───scripts
│ └───core
│ │ app.ts
│ │ components.ts
│ │
│ └───components
│ dropdown.ts
│
└───projectB
│ tsconfig.json
│
└───scripts
└───pages
page.ts
例如:在projectB中page.ts
我想导入如下所示的核心模块。
import { DropdownList } from 'core/components';
事实上我就是这样做的。 JavaScript 输出page.ts
工作正常。但我需要修复打字稿编译错误:cannot find module "core/components"
.
我可以通过使用来做到这一点npm install/link projectA/scripts
在 moduleB 或符号链接中。
但我需要通过选项来解决它tsconfig.json
或某种声明文件/references.d.ts
/。因为,我们有数百个项目 B 类项目。npm link
或符号链接对我们来说将是一项尴尬的工作。
有什么简单的方法可以做到这一点吗?
有什么简单的方法可以做到这一点
您需要在 tsconfig.json 中使用两件事:
-
rootDirs
告诉那projectA/scripts
and projectB/scripts
彼此相邻。 (警告:您的编译时环境支持它吗?)。
-
baseUrl
如果你想使用core/components
而不是完整的相对路径./core/components
(警告:您的模块加载器支持它吗?)。
这两个都是支持http://alm.tools/ http://alm.tools/ ????
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)