缩小Webpack块名称

时间:2019-05-09 19:22:57

标签: javascript webpack minify bundling-and-minification

完成操作后,WebPack输出似乎是块分辨率清单,如下所示:

window.__JS_CHUNKS__ = {
 "@ourcorp/coupon-pages~._node_modules_@ourcorp_coupon-pages_src_c": "@ourcorp/coupon-pages~._node_modules_@ourcorp_coupon-pages_src_c.eaabef68ce.js",
 "containers/DigitalCouponsContainer~._node_modules_@": "containers/DigitalCouponsContainer~._node_modules_@.45aea662bd.js",
 "@ourcorp/example-single-route~._node_modules_@ourcorp_example-single-route_src_c": "@ourcorp/example-single-route~._node_modules_@ourcorp_example-single-route_src_c.3e7438a4fb.js",
 "@ourcorp/meal-planning-ui~._node_modules_@ourcorp_meal-planning-ui_dist_i": "@ourcorp/meal-planning-ui~._node_modules_@ourcorp_meal-planning-ui_dist_i.fd270269e2.js",
 "routes-LandingPage-LandingPageConnector~._node_modules_@": "routes-LandingPage-LandingPageConnector~._node_modules_@.21b70c9545.js",
 "routes-MyListPage-MyListPageConnector~._node_modules_@": "routes-MyListPage-MyListPageConnector~._node_modules_@.1028dc74cb.js",
 "routes-MyPlansPage-MyPlansPageConnector~._node_modules_@": "routes-MyPlansPage-MyPlansPageConnector~._node_modules_@.c1d664a6be.js",
 "routes-MyRecipesPage-MyRecipesPageConnector~._node_modules_@": "routes-MyRecipesPage-MyRecipesPageConnector~._node_modules_@.650d63811e.js",
 "routes-PlanDetailPage-PlanDetailPageConnector~._node_modules_@": "routes-PlanDetailPage-PlanDetailPageConnector~._node_modules_@.34ec62e971.js",
 "routes-RecipeCategoryPage-RecipeCategoryPageConnector~._node_modules_@": "routes-RecipeCategoryPage-RecipeCategoryPageConnector~._node_modules_@.948bfcf4a1.js",
  // many more omitted for brevity
}

这些字符串看起来很长且重复,虽然gzip负责网络事务,但我也想减少JavaScript在解压缩后的解析/评估时间。

我有一些缩写这些字符串的想法,但是Webpack的文档尚不清楚如何使用该对象解析块,因此,我确定我缺少某些想法或即将破坏某些东西。

  • ourcorp缩写为o或其他内容

  • _node_modules_缩写为//或不太可能与将来的Webpack语法冲突

  • 使用字符长度最短的Base64块哈希不太可能发生冲突

  • 属性值中的引用属性名称字符串(如果该值包含属性名称)。例如,

    "containers/SearchGrids~._node_modules_@": 
      "containers/SearchGrids~._node_modules_@.26b7dbe62b.js"
    

    将成为

    "containers/SearchGrids~._node_modules_@": "#.26b7dbe62b.js"
    

0 个答案:

没有答案