我有一個TypeScript項目成功地使用Webpack來生成ES6,ES6通過babel-minify運行,以樹形結構抖動併產生一個明顯更小的bundle輸出文件。爲webpack中的模塊縮小導入路徑
此文件似乎包含所有的邏輯從我自己的程序,以及爲每個我使用的進口庫的件的邏輯(例如rxjs,lodash等)
然而,我我們正在瀏覽生成的文件,看起來在頂部我們有一些webpack邏輯,然後是原始導入路徑的一個映射到一個實現它的函數,而且,一直到那裏向下,各部分指向依賴關係及其路徑字符串。
現在,考慮到這個webpack包中的所有內容都是獨立的(沒有其他塊),所有源文件名的包含似乎佔用了大量空間。
例如,我期待在一個部分在這裏lodash的isBoolean腳本:
"./node_modules/lodash/isBoolean.js": function(e, t, o) {
var r = o("./node_modules/lodash/_baseGetTag.js"),
s = o("./node_modules/lodash/isObjectLike.js");
e.exports = function(e) {
return !0 === e || !1 === e || s(e) && "[object Boolean]" == r(e)
}
},
現在,好像有被採取了很多字了來形容源文件。由於有在這個時候對源文件沒有實際的依賴,爲什麼不能每個鍵只可以用更短的字符串標識符整個更換,如下面的例子:
"a": function(e, t, o) {
var r = o("b"),
s = o("c");
e.exports = function(e) {
return !0 === e || !1 === e || s(e) && "[object Boolean]" == r(e)
}
},
其中,「A」,「B」和「c」都代表原始字符串值出現在整個包中的每個地方。這不應該影響所有字符串,而只是導入文件路徑字符串。
在我看來,似乎有人在Webpack compress path names問了一個類似的問題,他們並沒有真正得到滿意的答案。
是否有一些選項或插件我可以使用,可以破壞模塊路徑名?