2017-10-29 23 views
1

我有多個打字稿項目(例如clientserver),它們共享一些通用功能(位於common文件夾中)。考慮這個文件夾結構:如何配置tsconfig.json以將文件從多個源文件夾輸出到單個outDir?

+ client 
| - tsconfig.json 
| + src 
|  - client.ts 
+ common 
    + src 
     - util.ts 

client.ts導入實用程序是這樣的:

import { Util } from '../../common/src/util'; 

爲了簡便起見,我省略了server文件夾,它是在同一水平client。該transpilation到out文件夾之後,我想使這個簡單的平面文件夾結構:

+ client 
| + out 
|  - client.js 
|  - util.js 

...理想情況下,我可以簡單地導入實際文件夾的共同效用無關:

import { Util } from './util'; 

如何配置tsconfig.json來實現?

我試過的rootDirsbaseUrlpaths不同的組合,但我仍然out下得到clientcommon子文件夾(兩者甚至包括其子文件夾src)。

回答

0

截至目前,你不能。

我處於類似於你的情況,我環顧四周,但似乎無法通過TypeScipt配置更改此行爲。

你可以做的最好的事情是在每次構建之後使用其他的東西(一個Grunt任務,一個shell腳本......)來移動js文件並刪除生成的文件夾。

0

我已經解決了這個問題,在我當前的項目(它具有相同的設置)通過將鏈接到公共庫到兩個來源。

common/ 
    src/ 
    lib/ 
client/ 
    src/ 
    lib/ -> $PROJECT_PATH/common/src/lib/ 
server/ 
    src/ 
    lib/ -> $PROJECT_PATH/common/src/lib/ 

編譯和捆綁變得透明,因爲工具將該目錄視爲本地目錄。

相關問題