AngularJS模块规范和性能优化

模块化规范

概念:根据我们写的不同的功能按照不同的类型划分,分工协作

作用:辅助的作用,能将我们编写好的js分为模块,是我们代码的编写更加专业

come on js

引入模块是同步进行的:前面记载以后,后面才能使用,所以不适合前端,主要是适用于后台 nodejs用的最多

amd

概念:a异步,m模块,d定义(异步模块化规范),引入模块可以异步加载 jquery和bootstrap都支持amd

requirejs运用的最多

require js

主模块引入:data-main="url"

主模块作用:初始化配置 延迟加载

require(["test1","test2"],function(t1,t2){ t1:fun1(); t1:fun2(); t2:fun1(); //调用的方法

})

定义模块的关键字:define ——>两个参数,数组是需要引用的模块,两边要避免互相引用:([],function(){要执行的js代码 return{ 需要执行的函数方法,是一个json对象 }})

umd

概念:u通用,umd(通用模块化规范),目前使用的框架还不多

cmd

概念:c->come on ->公共的模块化规范

sea.js——>国内的->提出的cmd规范

seajs

可以作为异步或者是同步,前置加载(也提供了延迟加载)

官网:sea.js.org 可以兼容各大浏览器 使用异步加载的方法,可以实现互相之间的调用

性能优化

《高性能网站建设指南》,《高性能网站建设进阶指南》。

工具:chrome控制台,firefox自带的开发者工具->性能

网络(服务器)

1、服务器集群(多个服务器组成的集群,提供一样的服务和功能)

2、DNS:域名解析服务器(查询对应的IP地址)——>对应IP地址,是唯一的(比较好记的名字),维护费用顶级的是50元一年(顶级域名后缀:.com/.cn)非营利性机构一般后缀名是.org。-->提高性能->配置更快的域名服务器

3、CDN:内容发布网络,通过配置不同的服务器,缩短距离,提高效率-->配置CDN可以解决一部分的性能优化问题

4、延迟加载和预加载

浏览器

http协议:超文本协议 1、按照http协议的请求进行封装

请求行:请求协议的版本,请求方法,请求路径

请求头:浏览器的版本信息,浏览器的交互信息(cookie)

第三个:空格

第四部分:请求参数

2、

状态行:状态码(404,200,304->页面没有发生任何修改,500等)、描述;

响应头:页面上看不到,服务器和浏览器沟通的东西,缓存、cookie、时间、编码集(UTF-8)等;

空行:

消息体:呈现在页面上的东西

https协议:超文本传输安全协议(优点,建立很多的安全协议,不易被拦截;缺点:效率比较低)

缓存:是解决性能比较有效的方法(设置一个属性Expires->设置一个时间),主要是静态资源,动态资源经常变动,缺点:网页内容的更新问题

方法一:Etag:数字加字母的字符串,加在需要缓存的元素上面,是一个元素是否改变的标识符(缺点:服务器集群的时候,没有作用)

方法二:last modify date,服务器集群的时候没有作用

方法三:在图片后面加上一串的数字(根据js索引的内容的算法得出来的)

代码

html

1、html:a、减少table布局(页面加载的效率很慢),b、尽量减少嵌套的层数

2、css:选择器->解析方式->从右往左 a、尽量避免使用复合选择器或者减少层数

雪碧图(图片分割技术):减少请求数量

合并和压缩:部署的时候,合为一个css

重绘和回流:减少回流的次数

【浏览器由(渲染引擎,js引擎组成,浏览器内核(渲染引擎/排版引擎)->解析DOM,解析CSS。js引擎是解析js(chrome是V8)】

简单的动画尽量用css3来制作

图标字体

节点的缓存,减少对DOM的操作

3、js->合并和压缩

4、iamge:转化为base64的编码

压缩工具1.gruntjs官方网站:www.gruntjs.net 安装,利用node.js的npm来安装 npm install grunt-cli -g

时间: 2024-10-10 01:43:55

AngularJS模块规范和性能优化的相关文章

Android编码规范及性能优化整理

最近看到新人的android代码实在问题太多,一些基本的地方都有问题,于是重新培训了下代码规范,希望后面能慢慢好起来. 一.Android编码规范 1.java代码中不出现中文,最多注释中可以出现中文 2.局部变量命名.静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写 3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开 4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下LayoutView:lvRela

基于AngularJS/Ionic框架开发的性能优化

AngularJS作为强大的前端MVVM框架,虽然已经做了很多的性能优化,但是我们开发过程中的不当使用还是会对性能产生巨大影响. 下面提出几点优化的方法: 1. 使用单次绑定符号{{::value}} AngularJS的性能优化方法之一是减少双向绑定.我们知道AngularJS的双向绑定是通过为每个需要双向绑定的数据对象添加$$watchers,一旦某个scope的数据发生了更新,就触发脏检测($digest),深度优先遍历所有scope对象的$$watchers值的old/new value

web前端性能优化

前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒,99%的用户会关闭这个网页.也许这样讲,各位还不会有太多感触,接下来我列举一组数据:Google网站访问速度每慢400ms就导致用户搜索请 求下降0.59%;Amazon每增加100ms网站延迟将导致收入下降1%;雅虎如果有400ms延迟会导致流量下降5-9%.网站的加载速度严重影响了用户体验,也决

雅虎35条性能优化建议

雅虎35条性能优化建议分7类,共35条: [内容]尽量减少HTTP请求数 [服务器]使用CDN(Content Delivery Network) [服务器]添上Expires或者Cache-Control HTTP头 [服务器]Gzip组件 [css]把样式表放在顶部 [js]把脚本放在底部 [css]避免使用CSS表达式 [js, css]把JavaScript和CSS放到外面 [内容]减少DNS查找 [js, css]压缩JavaScript和CSS [内容]避免重定向 [js]去除重复脚

WebPack实例与前端性能优化

[前端构建]WebPack实例与前端性能优化 计划把微信的文章也搬一份上来. 这篇主要介绍一下我在玩Webpack过程中的心得.通过实例介绍WebPack的安装,插件使用及加载策略.感受构建工具给前端优化工作带来的便利. 壹 | Fisrt 曾几何时,我们是如上图的方式引入JS资源的,相信现在很少遇见了.近年来Web前端开发领域朝着规范开发的方向演进.体现在以下两点: MVC研发构架.多多益处(逻辑清晰,程序注重数据与表现分离,可读性强,利于规避和排查问题...) 构建工具层出不穷.多多益处(提

iOS App 性能优化总结

今天简单总结一些clientapp 优化的方案和方向. 我相信开发一个app大部分团队都能够完毕,可是性能久不一样啦,和我们都写一个冒泡算法一样,我相信每一个人写的冒泡算法都不一样,这些区别就带来了性能的区别. 所以一个好的app 不止看设计.和创意 ,还要看性能. 以下我就简单说几点性能优化点: 一.首页启动速度 启动过程中做的事情越少越好(尽可能将多个接口合并) 不在UI线程上作耗时的操作(数据的处理在子线程进行,处理完通知主线程刷新节目) 在合适的时机開始后台任务(比如在用户指引节目就能够

Android性能优化之LINT使用总结

实话啊,重视lint吧. lint工具对于android应用开发中内存优化.性能优化.代码规范等有灰常灰常大的帮助作用.每个模块开发完成后,lint一下,有意想不到的收获. 介绍: 静态代码分析工具,无需运行,无需测试用例 扫描整个项目,分析以下潜在的问题,分类指出问题描述.问题位置,并提供合理的修改建议(这是才是关键啊,不管有木有大问题,看看这些问题及描述,也能过把瘾啊): ==================================== correctness 正确性 securit

2017前端性能优化清单

https://github.com/Findow-team/Blog/issues/11?utm_source=tuicool&utm_medium=referral 2017前端性能优化清单 你开始使用渐进启动了么?是不是已经使用过React和Angular中tree-shaking和code-splitting两个工具?有没有用过Brotli.Zofli和HPACK这几种压缩技术,或者OCSP协议(在线证书状态协议)?知不知道资源提醒,客户端提醒和CSS containment一类的技术?

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只是在解决前妻设计所遗留下来的一些问题而已,而且能够解决的问题通常也比较有限.本章将就如何在 MySQL 数据库 Schema 设计的时候保证尽可能的高效,尽可能减少后期的烦恼. 9.1 高效的模型设计 最规范的就一定