获得徽章 0
字节跳动数据平台前端团队
- 不要惧怕webpack,当你真的走入webpack的世界,你会发现其实它也很有趣,还很强大。今天又解锁一个新技能,使用DllPlugin提取库文件生成动态链接库文件,这样可以将那些不会变的库文件与自己的代码分开。至于每个包具体多大,就看你怎么精打细算了,既要考虑并发请求问题,也不能使某个文件过大,找到一个平衡点就好。
另外我发现极小的文件gzip压缩后体积竟然会比原来稍大一点,例如0.04k => 0.07k。难怪压缩有个默认最小10kb的限制呢。哈哈展开514 - vue.js 管理系统模板 D2Admin 新版本 v1.8.0
这次主要带来了最终效果小于 60 kb 的本地 js 首屏加载优化,可以达到平均 2 秒左右的首屏加载时间。
* 优化生产环境构建,chunk-vendors.js < 60kb
首屏加载 ≈2s,CDN 部署首屏加载 ≈1s
使用联通 4g 网络访问,Chrome 浏览器 清空缓存并硬性重新加载
腾讯云 CVM 部署 - Finish: 1.97 s
七牛云 CDN 部署 - Finish: 1.17 s
方案详见 dependencies-cdn.js | vue.config.js
* 使用 vue-filename-injector 替代以前的查看源码功能
* 移除了仓库中旧的无用大文件和设计素材 Thanks @Aysnine
* 默认 layout tab 多标签页支持拖拽排序 Thanks @luchaohai
* 多国语言设置关联 ElementUI
* fix #226 Store action
* fix #244 mockjs 导致的 responseType 丢失
* 请求拦截器添加 return 来捕获错误信息
* 无需经过 Vuex 访问本地存储
* 其它代码健壮性更新
* 接入 d2-projects/repo-email-feedback 现在大家可以在 star,fork 仓库或者提交 issue 之后受到来 d2projects@163.com 的反馈邮件了
* 新增了 coding 同步仓库
* CI 由 Travis 移至 GitHub Action
* 新增永久域名,共有四个同步预览地址,模拟各种部署访问效果,并可以看到各自的构建情况展开36 - <svg><use></use></svg>在IE下点击,event.taget居然是一个虚拟SVG元素实例,不是具体元素,于是很多DOM方法没法使用。需要使用event.target.correspondingUseElement作为目标target元素才行。或者在SVGElementInstance.prototype原型上打补丁,全局优化,例如:if (window.SVGElementInstance) {
SVGElementInstance.prototype.getAttribute = function (attributeName) {
if (this.correspondingUseElement) {
return this.correspondingUseElement.getAttribute(attributeName);
}
};
}。展开评论14