[英]root path for typescript module resolution
我有兩個項目,正在使用打字稿。 一個是核心項目:moduleA,另一個是業務項目:moduleB。 ProjectB 使用位於/scripts
文件夾中的 projectA 的模塊(ts 文件)。 我想通過projectA/scripts
為 projectB 指定模塊解析根文件夾。 順便說一句:項目中的部分將在生產中合並。
這是我的文件結構
├───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';
其實我就是這樣做的。 page.ts
JavaScript 輸出工作正常。 但我需要修復打字稿編譯錯誤: cannot find module "core/components"
。
我可以通過在模塊 B 或符號npm install/link projectA/scripts
使用npm install/link projectA/scripts
來完成。 但我需要通過選項來解決它tsconfig.json
或某種形式的聲明文件/的references.d.ts
/。 因為,我們有數百個類似 projectB 的項目。 npm link
或 symlink 對我們來說將是尷尬的工作。
有沒有簡單的方法可以做到這一點?
有沒有什么簡單的方法可以做到這一點
您需要在 tsconfig.json 中使用兩件事:
rootDirs
告訴projectA/scripts
和projectB/scripts
彼此相鄰。 (警告:您的編譯時環境是否支持它?)。baseUrl
如果你想使用core/components
而不是完整的相對路徑./core/components
(警告:你的模塊加載器支持它嗎?)。這兩個都在http://alm.tools/中支持🌹
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.