2017-09-25 39 views
3

請參閱本git倉庫:https://github.com/AngularClass/angular-starter在Angular4 Webpack Starter中,tsconfig.webpack.json是否適用於webpack,而tsconfig.json適用於其他一切?

的Angular4的WebPack入門自帶2個文件:

tsconfig.json 

tsconfig.webpack.json 

每個文件都有稍微不同的配置打字稿。

我的問題是關於這兩個文件如何與項目相關。

tsconfig.webpack.json是否僅適用於Webpack使用的ts-loader?而tsconfig.json文件將適用於其他一切?

有關什麼tsconfig.webpack.json的任何信息將不勝感激。

回答

2

簡短的回答是肯定的。使用Webpack註冊的TypeScript加載器明確配置爲使用tsconfig.webpack.json文件。 This can be observed on line 133 of the common configurationtsconfig.json文件有IDE支持。

值得一提的是,當你指出的模板使用TS-裝載機,它實際上使用真棒,打字稿裝載機

話雖如此,兩個加載器默認會嘗試挑選一個名爲tsconfig.json的文件,並且該模板明確覆蓋鏈接行上的此行爲。

雖然有多種原因可能希望在項目編輯器(例如Visual Studio Code)中使用多個TypeScript腳本配置文件,但可以使用名爲tsconfig.json的功能爲智能感知,設置各種選項以及以確定項目的範圍。

對兩者使用相同的文件比實際情況更合理,而這實際上是默認情況下會發生的情況。

備註

請注意AngularClass模板是非常臃腫和複雜。考慮到這是一個起點,你無疑會補充說,你的開始的不必要的樣板和文件的數量應該考慮在這樣的模板上。如果您對所涉及的任何工具,轉譯器或框架都陌生,則這會增加一倍。

順便說一下,我實際上是該存儲庫的貢獻者。他們從我這裏拿了一個pull request,這改變了某個人提出問題的效用函數,因爲這個函數令人困惑。有趣的是,在我提交PR改進之前,我已經從項目中刪除了這個功能。

在從一個模板派生的項目上工作後,我浪費了大量的時間去掉Webpack配置相關的代碼,這些代碼並不需要,但是正在妨礙中。我們最終只有約100行的Webpack配置總數。我當時並不是,並且還不是一個巨大的Webpack粉絲(贏得JSPM),但Webpack並沒有被模板使用得很好。許多不必要的工作正在完成,這實際上使Webpack看起來比現在更復雜。整個幫助程序文件基本上毫無價值,並且與Webback,TypeScript甚至Angular都沒有任何關係。

由於角度級網站銷售培訓材料,這也有點麻煩。原則上或實踐中沒有任何問題,但除了已經複雜的工具鏈中固有的內容之外,它們還會帶來很多複雜性。

1

請問tsconfig.webpack.json是否只適用於Webpack使用的ts-loader ?

是的,這是正確的。 Here is其中tsconfig.webpack.jsonwebpack.common.js使用:

new ngcWebpack.NgcWebpackPlugin({ 
    ... 
    disabled: !AOT, 
    tsConfig: helpers.root('tsconfig.webpack.json'), <---------------- 
    }), 

awesome-typescript-loaderhere

{ 
    loader: 'awesome-typescript-loader', 
    options: { 
    configFileName: 'tsconfig.webpack.json', <------------------- 
    useCache: !isProd 
    } 
}, 

而tsconfig.json文件將適用於一切?

是的,它用於tslinting或者如果您需要生成聲明文件。如果您在IDE中工作,它也可以用於智能感知和其他IDE特定功能。

相關問題