2016-04-14 61 views
1

我一直在關注教程,試圖讓Typescript與Angular 2一起工作。問題是我似乎無法編譯子目錄並保留子目錄。Typescript在建立時保留子目錄

我tsconfig.json

{ 
    "compilerOptions": { 
     "target": "ES5", 
     "module": "commonjs", 
     "outDir": "build", 
     "sourceMap": true, 
     "sourceRoot": "src", 

     "experimentalDecorators": true, 
     "noEmitOnError": true, 
     "noImplicitAny": true, 
     "removeComments": false 

    }, 
    "exclude": [ 
     "build", 
     "client", 
     "GulpTasks", 
     "node_modules", 
     "typings" 
    ] 
} 

現在我的源代碼對項目不同的模塊和客戶端/服務器的文件夾。

+build 
+node_modules 
+src 
---+client 
     ---+dir1 
     ---+file1.ts 
     ---+dir2 
---+server 
    ---+file1.ts 
+typings 

我需要保存的目錄結構進行編譯時,但在子目錄中(src /服務器)發現的文件時移動到build文件夾中不保留服務器子目錄的文件夾。沒有build/server/file1.js,但它只是build/file1.js。

在編寫JS文件時,如何配置tsc以移動子目錄中的文件?我在src/client/dir1中有一些與server/dir1文件具有相同名稱的文件,並且不能覆蓋另一個文件。

回答

1

它看起來像你應該設置'rootDir'以獲得所需的效果和使用至少打字稿1.7。

{ 
    "compilerOptions": { 
     "target": "ES5", 
     "module": "commonjs", 
     "outDir": "build", 
     "sourceMap": true, 
     "rootDir": "src", 

     "experimentalDecorators": true, 
     "noEmitOnError": true, 
     "noImplicitAny": true, 
     "removeComments": false 

    }, 
    "exclude": [ 
     "build", 
     "client", 
     "GulpTasks", 
     "node_modules", 
     "typings" 
    ] 
} 

見在GitHub上的以下問題:link

+0

感謝。我將sourceRoot更改爲rootDir,並解決了問題。 –

相關問題