我們試圖用Webpack編譯typescript代碼,我們用名稱空間(定義爲內部模塊)替換「module」(現在定義爲外部模塊)。Javascript:Webpack + Typescript +命名空間(內部模塊)
此更改主要是爲了符合typescript的建議,並確保在Karma上運行基於Jasmine的單元測試不需要依賴「require」。 Karma-typescript預處理器已經配置好,測試用例運行良好,不需要「require」。
對命名空間的更改導致我們刪除了require的依賴關係,當它通過tsc進行單元測試和編譯代碼時,它非常適用。但是在使用typecript加載器的Webpack編譯時(我嘗試過ts-loader,Webpack-typescript),輸出包含的僅僅是ts文件的代碼,而不是它的依賴關係。 Tsc已經有一個選項(--outFile)將輸出連接成單個文件,但兩個裝載器都不使用它。
有沒有一種方法(加載器或加載器的配置)來解決依賴關係,並將其捆綁到由Webpack生成的單個輸出js?
今天,正確的方法是用ES6模塊(進口/出口語法)。然後,您可以將TypeScript配置爲生成CommonJS語法。這應該有助於你使用Webpack和Jasmine。 – Paleo
導入/導出語法被轉換爲一個require調用,這會導致我們對karma有requirejs依賴。我試圖避免這種情況,並按照手冊中的更新命名[http://www.typescriptlang.org/docs/handbook/namespaces.html](http://www.typescriptlang.org/docs/手冊/ namespaces.html)。這種理解是否正確? –