首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何处理2个拆分点的require.ensure相同的大模块?

如何处理2个拆分点的require.ensure相同的大模块?
EN

Stack Overflow用户
提问于 2016-11-14 23:46:32
回答 1查看 147关注 0票数 0

我正在尝试获得一个延迟加载的应用程序设置,它只在你导航时加载它需要的东西。我使用了webpack的require.ensures和react-router的代码拆分,但我有一个问题(或误解)。我的两个路由需要(‘lodash’),但它被下载了两次,每个require.ensure一次。它在这里运行:https://examples-bqxmpefrny.now.sh/huge-apps/,这是实际的提交github.com/ryankshaw/react-router/commit/a97d77f (我也在webpack 2.1.0-beta.25中尝试过,但它仍然没有像我认为的那样工作,应该是github.com/ryankshaw/react-router/commit/9396830)

我需要做什么才能让它只下载“loash”一次?还是说这就是webpack做不到的事情?

换句话说,webpack没有做我认为会做的事情。如果你在两个不同的require.ensures中需要一个大的模块,它会将它捆绑到每个块中,这意味着浏览器最终会下载该模块的代码两次。我希望它足够智能,可以将在2个require.ensures之间共享的模块拆分成自己的块,并与需要它的2个拆分点块中的任何一个并行加载。有没有办法让webpack做到这一点?这被认为是一个bug吗?

注意:我不想只使用commonsChunkPlugin,因为即使该模块在两个拆分点之间共享,我也不想将其放在commons块中并将其加载到每个页面上(想象一下,一个大型应用程序具有比lodash更大的依赖关系,其中即使应用程序的不同部分使用该模块,强制应用程序的绝大多数其他部分下载该文件也是浪费的。在同一页面上可以有多个使用该模块的拆分点)

EN

回答 1

Stack Overflow用户

发布于 2016-11-15 11:12:30

here也讨论了同样的问题,他们提出了一个名为AgressiveMergePlugin的插件,它将帮助你避免两次下载你的库。

设想一个大型的应用程序,它的依赖关系比lodash要大得多,即使应用程序的不同部分使用该模块,强制应用程序的绝大多数其他部分下载该文件也是浪费的

对于上面引用的语句,您可以使用具有Tree-shaking功能的Webpack版本>= 2.0,该版本仅捆绑required或imported模块/导出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40599759

复制
相关文章
java获取数组最大值索引_java数组最大值最小值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/29
2.6K0
较快速在一个数组中查找最大值和最小值
#include<stdio.h> #define MAX 100001 int a[MAX]; int n; /* 时间复杂度为3*n/2 */ void swap(int i) { if(i==n-1) return ; if(a[i]>a[i+1]) { int temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } void sort() { int i; for(i=0;i<n;i++) { swap(i); i++; }
chain
2018/08/02
3.7K0
统计numpy数组中最频繁出现的值
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/119565.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/09
1K0
统计numpy数组中最频繁出现的值
arr = np.array([[1,2,100,4,5,6],[1,1,100,3,5,5],[2,2,4,4,6,6]]) 方法一: count = np.bincount(arr[:,2]) # 找出第3列最频繁出现的值 value = np.argmax(count) 方法二: from collections import Counter value = Counter(arr[:,2]).most_common()
py3study
2020/02/10
2.8K0
Numpy根据Bool值挑选数组中元素
使用Boolean类型的数组挑选一维数组中的值 使用一维Boolean数组选取数组中的特定元素,对应位置为True则选取,为False则不选取 import numpy as np i_=[2] # 挑选第三行数据 pop=np.arange(12).reshape(3,4) print("pop(3,4)\n",pop) bool=np.array([0,0,1,1]).astype("bool") # [False,False,True,True] # 使用数组作为索引选择个体 pop_i_=po
演化计算与人工智能
2020/08/14
1.8K0
numpy 插值
第二个参数是需要pad的值,参数输入方式为:((before_1, after_1), … (before_N, after_N)),其中(before_1, after_1)表示第1轴两边缘分别填充before_1个和after_1个数值;
全栈程序员站长
2022/09/22
6750
numpy 插值
较快速在一个数组中查找最大值和最小值(2)
/*分治法*/ #include<iostream> #include<string> #include<vector> #include<fstream> using namespace std; int a[16]={1,3,5,7,9,11,14,2,4,6,8,10,12,14,16,18}; int b[9]={3,1,5,9,4,2,7,6,10}; int t[2]; vector<string> splitEx(const string& src, string separate_chara
chain
2018/08/02
2.6K0
numpy.clip使数组中的值保持在一定区间内
给定一个区间范围,区间范围外的值将被截断到区间的边界上。例如,如果指定的区间是 [-1,1],小于-1 的值将变为-1,而大于 1 的值将变为 1。
狼啸风云
2020/12/29
2K0
一个数组中找最大值和最小值
这个不是lintcode里的题目,但是感觉很经典,放在这里。 给定一个数组,在这个数组中找到最大值和最小值。 最近在看一点算法书,看到分治法经典的金块问题,实质就是在一个数组中找到最大值和最小值的问题。 我们用分治法来做,先把数据都分成两两一组,如果是奇数个数据就剩余一个一组。 如果是偶数个数据,就是两两一组,第一组比较大小,分别设置为max和min,第二组来了自己本身内部比较大小,用大的和max进行比较,决定是否更新max,小的同样处理,以此类推。 如果是奇数个数据,就把min和max都设为单个的那个数据,其他的类似上面处理。 书上说可以证明,这个是在数组中(乱序)找最大值和最小值的算法之中,比较次数最少的算法。 瞄了一眼书上的写法,还是很简单的,一遍过。
和蔼的zhxing
2018/09/04
2.6K0
numpy创建数组
NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。
全栈程序员站长
2022/06/26
1.6K0
numpy创建数组
pycharm查找与替换_python替换dataframe中的值
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175276.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
6.1K0
判断某个值是否在多维关联数组中 返回该值的所在的关联数组
public function deep_in_array($value, $array) { foreach($array as $item) { if(!is_array($item)) { if ($item == $value) { return $item; } else { continue; } } i
OwenZhang
2021/12/08
5.3K0
在Python机器学习中如何索引、切片和重塑NumPy数组
在Python中,数据几乎被普遍表示为NumPy数组。
用户9527
2018/02/02
19.2K0
js数组索引值为小数,数组长度为多少
// 数组索引值为浮点型 // array 小数点索引值 不会增加数组长度,但是如果后面又加了array索引值 赋值,赋值在第几位,前几位长度就都有了 // 不占用数组元素个数,不改变数组长度,以key:value形式存在 var arr1 = []; arr1[0.5] = 2; arr1[1] = 3; console.log(arr1); // [ <1 empty item>, 3, '0.5': 2 ] console.log(arr1.length); arr1[3] = 3; console.
蓓蕾心晴
2022/06/12
3.6K0
Pandas中替换值的简单方法
在处理数据时,编辑或删除某些数据作为预处理步骤的一部分。这可能涉及从现有列创建新列,或修改现有列以使它们适合更易于使用。为此,Pandas 提供了多种方法,您可以使用这些方法来处理 DataFrame 中所有数据类型的列。
deephub
2021/08/20
5.6K0
python文字转图片(二值、RGB)以及numpy数组
文字一般使用unicode等编码的形式在计算机中表示,但是其形态本身也很有价值。如果能够把文字转为图片,就可以做一些应用,比如:
blmoistawinde
2020/05/09
5.1K0
python文字转图片(二值、RGB)以及numpy数组
Java中获取一个数组的最大值和最小值
3,然后对数组进行遍历循环,若循环到的元素比最大值还要大,则将这个元素赋值给最大值;同理,若循环到的元素比最小值还要小,则将这个元素赋值给最小值;
程序员的时光001
2020/07/14
6.5K0
PostgreSQL中索引是否存储空值?
偶然在PostgreSQL官方文档上看到这句话:an IS NULL or IS NOT NULL condition on an index column can be used with a B-Tree index。
数据库架构之美
2021/03/16
2.4K0
js获取数组中的最大值最小值
遍历方法: var tmp = [1,12,8,5]; var max = tmp[0]; for(var i=1;i<tmp.length;i++){ if(max<tmp[i])max=tmp[i]; } console.log(max); 使用apply方法: var a = [1,2,3,5]; console.log(Math.max.apply(null, a));//最大值 console.log(Math.min.apply(null, a));//最小值 多维数组可以这
deepcc
2018/05/16
36.8K0
点击加载更多

相似问题

码头集装箱无法与码头码头的postgres集装箱连接

13

gcloud码头推送可靠性

39

码头集装箱与码头码头联网

35

在码头集装箱内运行码头集装箱

13

配置库码头集装箱与领事码头集装箱

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文