外面我有一個文件結構這樣一個項目:TSC與allowJs編譯它自己的編譯JS ROOTDIR
package.json
webpack.config.json
tsconfig.json
src/
assets/
node_modules/
compiled/
etc/
我所有的源代碼(的.js
和.ts
文件的混合物)是src
和我所有的編譯後的輸出應該在compiled
。我tsconfig.json
看起來是這樣的:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"rootDir": "./src/",
"outDir": "./compiled/",
"allowJs": true
},
"exclude": ["node_modules"]
}
當我運行TSC讓我吃驚,也嘗試編譯它自己的編譯後的輸出在compiled
目錄,即使這是rootDir
外面,因爲allowJs
激活,它漂亮無休止地重新編譯自己發射的JS,創建compiled/compiled/compiled/compiled/
目錄。
我認爲rootDir
會限制要編譯到根目錄的文件。我可以將「已編譯」添加到exclude
,但rootDir
之外的其他文件夾還包含JS(其他構建工具等),所有這些文件夾都被不期望地編譯和輸出,並且啓用了allowJs
...必須明確排除所有內容還是沒有辦法明確限制編譯器輸入到src
的路徑?
這是有道理的,我絕對不明白rootDir'的'目的。那麼是否沒有辦法使用'tsconfig.json'來限制編譯器輸入到目錄路徑? – Aaron
@Aaron看來你只能'排除'目錄或者使用'files'來包含特定的單個文件。 'tsconfig.json'文件也可以放在除root之外的子文件夾中。 –
明白了。謝謝你的幫助! – Aaron