2017-06-16 70 views
1

我的問題建路徑是這樣的:每當 我使用下面的語法裏角 - >的WebPack 2角2 - 使用「規定」使用可變

let myCmp = 'test1'; 

let cmp = require('./components/'+myCmp+'/bootstrapCmp.component.ts'); 

我得到的所有組件在我的最終包中的組件文件夾內,不僅僅是'test1';

(我使用的AngularClass隊的角2的WebPack入門包 - https://github.com/AngularClass/angular-starter

沒有任何人這個問題太

我加載組件/所以是所有其他的都是基本。角2個組件

在此先感謝,我與它掙扎太多^^

+0

想想一般情況。 bundler如何預先知道哪些組件要包含在運行代碼的包中? –

+0

你也可以閱讀這個[討論](https://github.com/webpack/webpack/issues/1421)。 –

+0

@YuryTarabanko感謝您的快速響應!我可以想到的唯一的答案,當你把它是這樣的是通過使用webpack配置文件..有什麼辦法需要在webpack的配置文件中的相關文件,並在棱角的應用程序訪問它們?以及爲什麼bunlder無法在需求路徑中使用它時讀取變量的值? –

回答

0

希望,我發現我自己的解決方案將幫助其他開發人員:

在webpack.common.js文件中,我已將新文件添加到我稱爲boot.js的入口對象。

所以結構是這樣的:

entry: { 
    main:['./src/polyfills.browser.ts','./src/assets/boot.ts','./src/main.browser.ts'] 
} 

的boot.ts文件,包含與所有的relavent組件我將使用(參考文獻)的對象。當我運行bunlder(wepback)時,無論何時我需要某個組件,我都會在boot.ts文件內創建這個對象,最終的捆綁包文件現在只包含我想要的組件。