原创《分享(Angular 和 Vue)按需加载的项目实践优化方案》
针对前端优化的点有很多,例如:图片压缩,雪碧图,js/css/html 文件的压缩合并, cdn缓存, 减少重定向, 按需加载 等等
最近有心想针对 ionic项目 和 vue项目,做一个比较大的优化,做成按需加载(也就是无请求不加载),此刻我内心是无比激动的。
推荐看的按需加载的文章:
angular 按需加载 相关文章:
1: http://www.alloyteam.com/2016/03/es6-front-end-developers-will-have-to-know-the-top-ten-properties/
2: http://www.mamicode.com/info-detail-407754.html
vue 按需加载 相关文章:
1: http://cn.vuejs.org/guide/components.html#异步组件
2: http://webpack.github.io/docs/code-splitting.html
-----------------------------------------------------------
今天就针对,按需加载(也就是无请求不加载),分别给出一些实际项目经验的方案:
angular 按需加载方案:$ocLazyLoad
vue 按需加载方案:require([异步加载的组件], resolve)
angular按需加载:$ocLazyLoad
需要3个步骤,就可以实现按需加载的方案。
第1步:bower install oclazyload
第2步:$ocLazyLoad封装:

第3步:ui-router 路由配置:

此方案做到了,template 和 controller 的文件按需加载。此时去访问页面就可以看到效果了。
效果Gif演示:

vue 按需加载方案:require([异步加载的组件], resolve)
需要2个步骤,就可以完成按需加载
第一步,针对webpack.js 做配置的更改,如图:

第二步:针对 router 路由,进行更改,主要是component的更改,如图。

第三步:执行 npm run build 打包命令,就可以看到chunks文件夹生成了很多chunk的小文件,就是vue组件页面,如图:

原创《分享(Angular 和 Vue)按需加载的项目实践优化方案》的更多相关文章
- Vue按需加载提升用户体验
		
Vue官方文档异步组件: 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了让事情更简单, Vue.js 允许将组件定义为一个工厂函数,动态地解析组件的定义.Vue.js 只在组 ...
 - vue按需加载组件-webpack require.ensure
		
使用 vue-cli构建的项目,在 默认情况下 ,执行 npm run build 会将所有的js代码打包为一个整体, 打包位置是 dist/static/js/app.[contenthash].j ...
 - vue 按需加载,缓存,导航守卫
		
开发中的注意事项:代码性能的优化 1. 减少对第三方的依赖,降低耦合度 2. 加强组件的重复利用率 3. 按需加载 4. 缓存 (尽量发送请求后保存数据) 5. 开发过程中,尽量有着面向对象的思想,这 ...
 - vue按需加载组件,异步组件
		
说实话,我一开始也不知道什么叫按需加载组件,组件还可以按需加载???后来知道了 学不完啊...没关系,看我的 按需加载组件,或者异步组件,主要是应用了component的 is 属性 template ...
 - 关于VUE首屏加载过长的优化,VUE项目开发优化
		
1. 按需引入UI组件 当下市面上流行的UI组件基本都支持按需加载,本文以Element UI为例: (1) 新建一个elementUI.js文件 (2) 访问地址找到按需引入方式的说 ...
 - vue 按需加载
		
vue 构建单页面应用,但是问题是随着系统的体积变大,js文件也体积太大了,这时候就需要按需要进行加载了 vue-router提供了懒加载的方式 const Foo = resolve => r ...
 - 三步解决 vue 按需加载
		
1 webpack 的 output 配置 chunkFleName 树干名称: " chunks/[name]-[chunkhash:8].js " 这一步是配合第三步, 生 ...
 - vue中的懒加载和按需加载
		
懒加载 (1)定义:懒加载也叫延迟加载,即在需要的时候进行加载,随用随载. (2)异步加载的三种表示方法: 1. resolve => require([URL], resolve),支持性好 ...
 - requirejs按需加载angularjs文件
		
之前分享了一篇用ocLazyLoad实现按需加载angular js文件的博客.本来当时想会使用一种方法就行了.可最近刚好有时间,在网上查找了一下requirejs实现angular js文件按需加载 ...
 
随机推荐
- 理解es6 中 arrow function的this
			
箭头函数相当于定义时候,普通函数.bind(this)箭头函数根本没有自己的this,导致内部的this就是定义时候的外层代码块中的this.外层代码块中的this,则取决于执行时候环境上下文cont ...
 - Kafka: Exactly-once Semantics
			
https://www.confluent.io/blog/enabling-exactly-kafka-streams/ https://cwiki.apache.org/confluence/di ...
 - poj2688
			
#include<iostream> using namespace std; #include<time.h> int m,n; ][]; ][]; typedef stru ...
 - LeetCode 606 Construct String from Binary Tree 解题报告
			
题目要求 You need to construct a string consists of parenthesis and integers from a binary tree with the ...
 - Java安装及基础01
			
Java特性: (1)java语言是面向对象的语言 (2)编译一次,到处运行(跨平台) (3)高性能 配置环境变量: JAVA命名规则: (1)常量命名规则:每个字母都大写(POEPLE_PRE_NO ...
 - rpc轻量级框架实例
 - 将分支推送到远程存储库时遇到错误: Git failed with a fatal error. TaskCanceledException encountered.
			
解决:https://blog.csdn.net/dw33xn/article/details/79951714 修改下配置文件即可
 - PHP防CC攻击代码
			
PHP防CC攻击代码: empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); //代理IP直接退出 session_start(); $secon ...
 - 【LeetCode每天一题】Minimum Path Sum(最短路径和)
			
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...
 - python多进程multiprocessing模块中Queue的妙用
			
最近的部门RPA项目中,小爬为了提升爬虫性能,使用了Python中的多进程(multiprocessing)技术,里面需要用到进程锁Lock,用到进程池Pool,同时利用map方法一次构造多个proc ...