繁体   English   中英

webpack 树抖动与延迟加载问题

[英]webpack tree shaking with Lazy loading question

所有,我是 Webpack 的新手。 目前,我面临 webpack 摇树的问题。 在 CommonJS 中,由于require语法,webpack 不能进行树抖动。 例如,一个程序可以通过以下方式导入包,但无法使用 tree-shaking,

var a;
if(condition){
    a = require('module1');
}else{
    a = require('module2');
}

然后,tree shaking 是基于import static 语法从 ES6 模块,package 不能动态导入。

但是,在 es7 中,有一种通过延迟加载import (module)来动态加载模块的方式。 所以,我的问题是,如果程序包含延迟加载语法,摇树仍然可以工作,如果 webpack 可以做到这一点,这是如何实现的?

据我所知,没有编译器/捆绑器支持动态导入模块的摇树。 Webpack 5 在删除动态加载的包中未使用的代码方面可能会稍好一些。

但是,您可以按照旧方式进行操作; 创建两个 html 站点,有一个共享的 JS 包和特定于页面的包,然后链接到另一个页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM