2014-12-05 57 views
4

我最近從require.js移動到webpack,並且某些node_module內置了.min文件。當我使用node_module中的文件時,我只是做了require('my-module'),它在沒有任何配置的情況下立即加載它。但是這會加載開發版本或更大的版本。我應該縮小node_modules還是應該使用爲客戶端部署提供的縮小版本?

例如反應是加載require('react/addons')但這不是縮小版本。

我的問題是:

  • 我應該正常加載模塊,然後再壓縮一切?
  • 我應該使用提供的.min文件,然後再次縮小一切嗎? (這樣我省了很多磁盤)
  • 還有什麼更好的辦法嗎?自動加載縮小的文件會很好。

現在,我改變的WebPack的別名加載建立應用程序時的精縮版:

myConfig.resolve.alias.phaserUnFixed = "nodeModules/phaser/build/custom/phaser-no-physics.min.js"; 
myConfig.resolve.alias.react = "nodeModules/react/dist/react-with-addons.min.js"; 
myConfig.resolve.alias.lodash = "nodeModules/lodash/dist/lodash.compat.min.js"; 
myConfig.resolve.alias.moment = "nodeModules/moment/min/moment.min.js"; 

但是,這不是一個很好的方法要麼...你能想到什麼更好?

回答

1

我不知道這是否是您正在尋找的答案,但我認爲這種情況下的最佳做法是使用webpack將其用於生產,而不用擔心加載縮小的文件。讓webpack在整個bundle上運行uglify將刪除所有未使用的代碼路徑,然後將其縮小。

+0

有一個名爲phaser的庫,它有不同的文件。默認配置了許多其他工具。但它也有其他文件,只有我需要。整個文件是+ 1MB我需要的部分是300KB。你有什麼建議? – 2014-12-19 17:19:30

+0

我會堅持讓webpack縮小休息時間,儘量減少,反應,但對於移相器,我想你應該只是因爲它的大小而使用別名。它會減慢你的構建操作。如果你在捆綁後醜化,結果輸出文件將是相同的,但這只是編譯時間的問題。 – 2014-12-19 22:31:46

+0

我有同樣的擔憂,webpack是爲了擺脫許多在瀏覽器中異步加載的文件,但是缺點是你會以非常大的文件結束。這個問題不受歡迎是一種恥辱。很多人都在使用webpack,很多人都應該關注這個問題。 – alexserver 2015-09-13 04:48:47

相關問題