给颗星星github:github.com/trsoliu/iVi…

在实际项目开发中,越来越多的模块代码被引入,虽然我们做了很多异步加载的办法,但是代码的体量还是会越来越大;

我们拿iView做了几个项目后,发现iView的很多模块都没有用到,常用的就40~70%左右;

我们看下iView体积:

v2.14.0-rc.1

iView.min.js 1.4MB

iView.min.js 504KB

很显然,已经很大了;

为了首屏加载速度,为了产品,为了运营,为了。。。

我们不得不对iView做模块管理;

其实官方已经提供了方案:

www.iviewui.com/docs/guide/…

按上面的方法,把需要的,一个一个加入进去;

w...wtf.

太随意了,对于懒人来说,还是全量引入来的随意;

有没有一个全的、写好的呢?有!

废话少说;

在构建好项目目录结构后:

我们新建一个iview的文件夹,添加一个index.js;

在项目的main.js中import进来;

接下来,我们来在index.js中我把全量的iView模块都写进去了,使用的时候把不用的注视掉即可:

import Vue from 'vue'
import 'iview/dist/styles/iview.css'
//iview基础模块
const components = {Affix,Alert,AutoComplete,Avatar,BackTop,Badge,Breadcrumb,BreadcrumbItem,Button,ButtonGroup,Card,Carousel,CarouselItem,Cascader,Checkbox,CheckboxGroup,Col,Collapse,ColorPicker,Content,DatePicker,Dropdown,DropdownItem,DropdownMenu,Footer,Form,FormItem,Header,Icon,Input,InputNumber,Scroll,Sider,Submenu,Layout,LoadingBar,Menu,MenuGroup,MenuItem,Message,Modal,Notice,Option,OptionGroup,Page,Panel,Poptip,Progress,Radio,RadioGroup,Rate,Row,Select,Slider,Spin,Step,Steps,Table,Tabs,TabPane,Tag,Timeline,TimelineItem,TimePicker,Tooltip,Transfer,Tree,Upload
}import {Affix,Alert,AutoComplete,Avatar,BackTop,Badge,Breadcrumb,BreadcrumbItem,Button,ButtonGroup,Card,Carousel,CarouselItem,Cascader,Checkbox,CheckboxGroup,Circle,Col,Collapse,ColorPicker,Content,DatePicker,Dropdown,DropdownItem,DropdownMenu,Footer,Form,FormItem,Header,Icon,Input,InputNumber,Scroll,Sider,Submenu,Layout,LoadingBar,Menu,MenuGroup,MenuItem,Message,Modal,Notice,Option,OptionGroup,Page,Panel,Poptip,Progress,Radio,RadioGroup,Rate,Row,Select,Slider,Spin,Step,Steps,Switch,Table,Tabs,TabPane,Tag,Timeline,TimelineItem,TimePicker,Tooltip,Transfer,Tree,Upload
} from 'iview'const iviewModule = {...components,//不能和html标签重复的组件,添加别名(除了Switch、Circle在使用中必须是iSwitch、iCircle,其他都可以不加"i")iButton: Button,iCircle: Circle,iCol: Col,iContent: Content,iForm: Form,iFooter: Footer,iHeader: Header,iInput: Input,iMenu: Menu,iOption: Option,iProgress: Progress,iSelect: Select,iSwitch: Switch,iTable: Table
}
//循环注册全局组件
Object.keys(iviewModule).forEach(key => {Vue.component(key, iviewModule[key]);
});//将iview模块挂载到vue对象上去
Vue.prototype.$Loading = LoadingBar;
Vue.prototype.$Message = Message;
Vue.prototype.$Modal = Modal;
Vue.prototype.$Notice = Notice;
Vue.prototype.$Spin = Spin;复制代码

好了,接下来,把你不用的注视掉就可以了;

获取文档地址:github.com/trsoliu/iVi…

你还在全量加载iView么?试试手动配一个吧相关推荐

  1. [html] HTML5的video怎样预加载(支持全量加载)?

    [html] HTML5的video怎样预加载(支持全量加载)? preload="auto" 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎 ...

  2. 95-134-112-源码-维表-全量加载MySQL

    1 .世界 2.概述 在维表关联中定时全量加载是针对维表数据量较少并且业务对维表数据变化的敏感程度较低的情况下可采取的一种策略,对于这种方案使用有几点需要注意: 全量加载有可能会比较耗时,所以必须是一 ...

  3. 原来热加载如此简单,手动写一个 Java 热加载吧

    1. 什么是热加载 热加载是指可以在不重启服务的情况下让更改的代码生效,热加载可以显著的提升开发以及调试的效率,它是基于 Java 的类加载器实现的,但是由于热加载的不安全性,一般不会用于正式的生产环 ...

  4. 点击图片放大全屏加载,再次点击图片/文档回到原来位置

    导读:生命不息,折腾不止 第二次写文章,其实我一直都不明白为什么很多人喜欢写文章,现在我好想知道一点点了,学到的东西一旦过了一段时间,好像就忘了- 看来写文章,或许有这么个原因吧,担心有一天忘了. 回 ...

  5. 电脑桌面只剩回收站和计算机,如果计算机重新加载后,桌面上只有一个回收站,该怎么办?...

    如果计算机重新加载后,桌面上只有一个回收站,该怎么办?计算机只显示如何恢复回收站. 如果计算机重新加载后,桌面上只有一个回收站,该怎么办? 由于它提示我们目录c  : \ windows  \ sys ...

  6. 全屏加载loading显示的解决方法

    step1:可以在网页里加一个div用来现实loading. 1 <div id="loading"> 2 <!--这里放你的loading时显示的动画或者文字- ...

  7. recycleviewitem 列表加载动画_用vue实现一个虚拟列表

    上次分享了超长列表分片加载的方式,这种方式现在一般不会使用,因为dom会变的无比庞大,页面会很卡,今天分享用vue实现一个虚拟列表的简易实现,本来是想用原生实现一个,后来觉得直接使用computed, ...

  8. java 自动加载jar_JAVA 动态(手动)加载jar文件

    //filePath 是jar的绝对路径 URL url = new URL("file:"+filePath); //里面是一个url的数组,可以同时加载多个 URLClassL ...

  9. 如何加载HTML页面页面到另一个界面中

    1.第一种:iframe 但是,对于个人经验来说,iframe最好不要用,不仅自适应不太好,而且对于seo优化特别不好 2.第二种:通过jQuery load 事件加载页面.比较简单,但是会刷新界面. ...

  10. 「7年了!GTA 5联机版加载还是这么慢??一个if语句循环了19.8亿次??你的CPU在抽烟」

    你以为我上GitHub就是在学习?你以为我上GTA5就一定是在玩游戏? 「7年了!GTA 5联机版加载还是这么慢??」 别急 先献上地址https://github.com/tostercx/GTAO ...

最新文章

  1. ASP.NET学习笔记(9)--SqlDataReader和SqlDataSet的比较
  2. 我的世界java版袭击图片_我的世界:你mc“中毒”有多深?这8张图都能看懂,绝对是真爱粉...
  3. turtle库基础练习
  4. quartz中定时表达式详解
  5. python foo函数_python——函数
  6. OV2640摄像头模块
  7. linux加密狗复制克隆教程,圣天狗SentinelDog
  8. 裂变活动的5个关键步骤?
  9. java学习笔记 java编程思想 第5章 初始化与清理
  10. OMCS 语音视频框架
  11. ff6全部青魔法获得(不走兽之原)
  12. ZLMediaKit webRTC编译
  13. Eclips配置Maven
  14. Android编译自定义sdk,向Android SDK中添加自定义的库 (Addon)
  15. VENC 通道属性配置参数理解
  16. 这应该是最全的软件测试工程师必读书籍
  17. redirectType=Found和redirectType=Permanent哪个是301哪个是302?
  18. 几款实用的内网穿透工具,推荐!
  19. 自学Python第十四天- 一些有用的模块:urllib、requests 网络编程基础,向爬虫靠拢
  20. 小米MIx3 miui11国际版本地化

热门文章

  1. 前后端交互模式大总结 艾提拉 总结 attilax总结 目录 1. 通过ajax ajax就是js的网络api 完全解耦合 推荐 1 1.1. Query Ajax 操作函数 1 1.2. 服务
  2. Atitit 学校模式之 天堂模式 目录 1.1. 宗旨,让学生们乐不思蜀 打造人间天堂 2 2. 组织结构 2 2.1. 娱乐事业部 2 2.2. 文艺事业部 2 2.3. 三大金山挖掘(教育 医
  3. Atitit word ppt excel convert txt bp 等文档转换纯文本问题最佳实践.docx Atitit word ppt excel等文档转换txt问题最佳实践 目录 1.
  4. Atitit 索引技术--位图索引
  5. Atitit. 单点登录sso 的解决方案 总结
  6. atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99
  7. paip.截屏功能流程说明
  8. 对话Man Group:对冲基金的达尔文式竞争
  9. Julia: 奇技淫巧......
  10. Julia:Datetime的用法