[英]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.