没企图 2022-05-04 13:54:22
"打包慢",是一个综合的因素,和vue关系不大。
1:确保下webpack,npm, node 及主要库版本要新,比如:4.x比3.x提升很多。
2:loader范围缩小到src项目文件!一些不必要的loader能关就关了吧
3:eslint代码校验其实是一个很费时间的一个步奏。
:可以把eslint的范围缩小到src,且只检查*.js 和 *.vue
:生产环境不开启lint,使用pre-commit或者husky在提交前校验
4:happypack多进程进行
如果上面优化后,时间还是不满意的话,就尝试下5,6吧。
5:动态链接库(DllPlugin),楼上已说。有点类似配置的externals。
补充一下:
缺点:将不能按需加载,会将配置的第三方库全部打包进去。
推荐:可以将使用率较高的包采用dll方案。
6:HardSourceWebpackPlugin会将模块编译后进行缓存,第一次之后速度会明显提升。
- 共 1 页
- 1
// 生成随机数组
function createNum() {
var arr = []
for(var i =0; i<10; i++) {
var num = Math.floor(Math.random()*100)
arr .indexOf(num)!=-1?i--:arr .push(num)
}
arr.sort((a,b) => { return a-b } )
return arr
}
// 生成map
function createMap () {
var map = {}
createNum().forEach(item => {
if(map[Math.floor(item/10)]) {
map[Math.floor(item/10)].push(item)
} else {
map[Math.floor(item/10)] = [item]
}
})
return map
}
// 结果
var numMap = createMap()
var newArr = []
for(var o in numMap ) {
newArr.push(numMap [o])
}
第 67 题:随机生成一个长度为 10 的整数类型的数组