簡體   English   中英

打字稿模塊解析的根路徑

[英]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/scriptsprojectB/scripts彼此相鄰。 (警告:您的編譯時環境是否支持它?)。
  • baseUrl如果你想使用core/components而不是完整的相對路徑./core/components (警告:你的模塊加載器支持它嗎?)。

這兩個都在http://alm.tools/中支持🌹

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM