2015-09-13 17 views
0

我在我的前端應用程序中使用ractive和webpack。 我的應用程序的包大小非常大(1.3M),所以我在考慮用webpack來縮小節點模塊,應該更好地抓住已經縮小的某些模塊版本?例如在ractive的情況下,當您通過npm install ractive安裝時,rader模塊會在node_modules/ractive中構建縮小版本,所以我想告訴webpack抓取此文件而不是壓縮整個文件。用webpack抓取ractive模塊中的縮小版本

ractive.js大小

-rw-rw-r-- 1 vagrant vagrant 413K Apr 25 17:53 ractive.js

ractive.min.js

-rw-rw-r-- 1 vagrant vagrant 162K Apr 25 17:53 ractive.min.js

有什麼辦法把這事告訴的WebPack?

,而不是寫

var R = require('ractive')

應尤爲明顯也許寫

var R = require('./node_modules/ractive/ractive.min.js')

因爲它似乎太哈克我不喜歡這個選項,但是如果沒有用webpack做得很好,我不得不這樣做。

回答

1

當webpack捆綁源文件時,默認情況下它不會縮小它們。這可能是爲什麼你最終得到一個大的包文件。您可以運行webpack -p以獲取捆綁文件的縮小版本。這將導致文件大小類似於首先使用ractive-min作爲源的包。

如果你仍然想在開發中使用縮小版本的ractive,你可以使用NormalModuleReplacementPlugin。這裏有一個例子:

webpack.config.js

var webpack = require('webpack'); 

module.exports = { 
    // other configuration settings 

    plugins: [ 
     new webpack.NormalModuleReplacementPlugin(/^ractive$/, 'ractive/ractive.min') 
    ] 
}; 
+0

這就是我一直在尋找。謝謝。 – alexserver