[問題] 於Import 路徑使用自定義環境變數

各位大大、大神、前輩您們好,我想請問 Import 使用絕對路徑的時候,是否能自定義變數呢?

更新目前有解了

  1. tsconfig.json 設定 “baseUrl”: “./”
  2. 建隨便一個ts檔,並宣告:
    declare module “公司名稱/共用模組” {
    export * from “modules/共用模組”;
    }
    以上即可將 路徑中的 ‘公司名稱’ 被 ‘modules’ 這個真正的路徑取代。

例如:

import { A_Service } from " myVar / A ";

上面路徑中的 myVar ,是否能設定成一個可更改的變數呢?。

像是換成字串 const myVar = " …/myPath " ,實際讀取路徑就變成 " …/myPath/A "


有這需求主要是因為公司開發平台上,有很多服務必須寫死一個在我讀取不到的路徑上。

比如 import { A_Service } from " 公司平台/A"

但是在本地的開發端,並沒有 “公司平台” 這個路徑,所以 Webstrom(或其他IDE)會找不到這個路徑模組。


更實際的狀況就如以下這樣:

我寫了一個公用模組功能 publicComponent ,裡面有很多服務 ServiceA , ServiceB , ServiceC…
而實際的目錄長這樣
—src
------modules
---------modules-public
---------modules-x
---------modules-y
---------modules-z

在模組 modules-x , y ,z 裡面,會去用到 modules-public 的服務 Service A,B,C

但因為最後模組都會上傳到公司平台上做轉換,規定了 引用這些服務的路徑會寫死:
import { ServiceA ,ServiceB } from " 公司平台名稱 / modules-public ";
而實際路徑其實是 "modules / modules-public "

所以IDE會報錯,雖然最後上傳平台可以跑,但是就白白浪費IDE很多自檢與索引的服務,開發很不好用。
所以我想是不是能去定義我本地開發端,能夠辨認在 import 的時候,
如果有出現 “公司平台名稱”, 就將其轉換為 “modules” 。

不知道是否能做到這件事情呢,還望給我點建議或提示,非常感謝。
如果有不詳細的地方,也請和我說下,我盡量補全。 m(_ _)m

為什麼路徑會跟著環境這樣變化,這樣的需求本身蠻奇怪的

感覺起來你們有library,然後要給其他人使用,如果是這樣那應該是要走npm安裝或者是submodule