番外篇01:angularJS最佳实战

1. 项目组织方式

  • ng-strict-di:严格依赖注入模式。

    • 在angularJS中,如果要使用模块中的内容,只要提供相关模块的名称即可,不需要自己查找、创建、初始化等等,就可以直接得到需要注入的模块进行使用,这种方式即所谓的依赖注入
    • 但是在JS代码压缩混淆(minify/uglify)的时候,参数的名称会被压缩成一个字母,导致参数的名称发生变化,进而导致注入的失败;
    • 所以,AngularJS推荐使用将模块名和函数写在同一个数组中,并将模块名写在函数之前;ng-strict-di指令的作用就是,强制项目代码使用这种严格的风格,如果不是就会报错,进而保证,依赖注入的正确性。

2. 性能优化

  • 浏览器预加载:DNS prefetch——提前加载域名解析,省去域名解析时间;

    • chrome会自动把当前页面所有带href的link都做一次dns prefetch;但a标签的href再https下不起作用,需要meta属性强制开启;
    • 需要手动添加link的场景是:开发者预计用户在后面的访问中需要用到链接在当前页面所有link中都没有包含;
    • chromium官方文档中说明,chrome会使用8个线程专门做DNS Prefeatching,chrome本身并不做dns记录的cache,而是直接从操作系统读DNS;即,直接修改系统host的dns记录或者host是会影响chrome的;
    • 合理的使用dns prefetch是能对页面性能带来50ms~~300ms的提升;
    • 手动 dns prefetching 的代码实际上还是会增加html的代码量的,特别是域名多的情况下。所以,最优的方案应该是:通过js初始化一个iframe异步加载一个页面,而这个页面里包含本站所有的需要手动dns prefetching的域名。
<meta http-equiv="x-dns-prefetch-control" content="on"> // 强制开启浏览器 DNS Prefetch功能
<link rel="dns-prefetch" href="http://www.spreadfirefox.com/"> // 强制查询特定主机 DNS
  • 跨域资源权限:跨域img、js引用允许 crossorigin="anonymous"

    • 允许网站对跨域脚本、图片的引用:出于安全策略(即同源策略),正常情况下浏览器是不允许跨域资源的引用,当浏览器尝试加载不属于当前域的脚本时,跨域脚本知会返回Script error
    • 最新HTML5规定,是允许获取不属于当前域的脚本资源,但必须满足两个条件:①跨域脚本的服务器必须通过Access-Control-Allow-Origin头信息允许当前域名可以获取错误信息;②当前域名的script标签必须指明src属性指定的地址是跨域支持的,也就是crossorigin属性:如下
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"crossorigin="anonymous"></script>

参考文献:

  1. DNS Prefetching的两三事
  2. 预加载系列一:DNS Prefetching 的正确使用姿势
  3. HTML5 script 标签的 crossorigin 属性到底有什么用?

转载于:https://www.cnblogs.com/hbzyin/p/8325495.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

石油勘探是属于计算机应用中的,计算机在石油勘探开发中的应用论文

1油田中计算机应用的现状在我国的能源发展中&#xff0c;石油直接关系着能源安全战略&#xff0c;尤其是我国处在经济的快速发展阶段&#xff0c;很多领域对石油资源的需求很大&#xff0c;在世界范围上来说&#xff0c;我国已经处于世界产油五大国之一和石油消费国第二大国。石…

java -jar Incompatible argument to function

原因分析&#xff1a;jar包版本问题 解决方法&#xff1a;到工程中查看代码引用的jar包版本是多少&#xff0c;然后升级jar包&#xff0c;就可以了&#xff01; 转载于:https://www.cnblogs.com/nizuimeiabc1/p/4254173.html

王道操作系统考研笔记——1.1.2 操作系统的特征

如果这篇博客对您有用的话&#xff0c;可以给我点个赞吗&#xff0c;这对我很重要&#xff0c;谢谢&#xff01;❤️ 1.1.2 操作系统的特征 文章目录1.1.2 操作系统的特征1.1.2.1 并发1.1.2.2 共享1.1.2.3 并发和共享的关系1.1.2.4 虚拟1.1.2.5 异步1.1.2.6 小结我们接下来讲的…

mvc中html对象的方法吗,在MVC中使用jQuery模板进行HTML编码的Json对象

所以我有能力在我的网站上发表评论。用户进入场命中“后”和我阿贾克斯评论回到其在该行动的结果在MVC中使用jQuery模板进行HTML编码的Json对象public ActionResult PostComment(Comment NewComment){var repository GetRepository();var player GetPlayer();//we have this …

InputStream中通过mark和reset方法重复利用缓存

通过缓存InputStream可重复利用一个InputStream&#xff0c;但是要缓存一整个InputStream内存压力可能是比较大的。如果第一次读取InputStream是用来判断文件流类型&#xff0c;文件编码等用的&#xff0c;往往不需要所有的InputStream的数据&#xff0c;或许只需要前n个字节&a…

linux新起之秀-linux文件属性

2019独角兽企业重金招聘Python工程师标准>>> 从做到右&#xff1a;1为inode 的节点号&#xff1b;2为文件类型及权限&#xff1b;3为文件或目录的硬链接数&#xff1b;4为属主及所归属的组(属主就想象似地主&#xff0c;属组就像奴才的部分)&#xff1b;5为文件或者…

王道操作系统考研笔记——1.1.3 操作系统的发展及分类

如果这篇博客对您有用的话&#xff0c;可以给我点个赞吗&#xff0c;这对我很重要&#xff0c;谢谢&#xff01;❤️ 文章目录1.1.3 操作系统的发展及分类1.1.3.1 手工操作阶段1.1.3.2 单道批处理系统1.1.3.3 多道批处理系统1.1.3.4 分时操作系统1.1.3.5 实时操作系统1.1.3.6 其…

在手机测试html,借助 IIS 管理器 -- 用手机测试HTML页面

win 2008R2服务器 IIS配置&#xff1a;IIS需要创建网站、配置网站、设置应用程序池回收时间。Hadoop的作业调度器主要有三种:FIFO ,Capacity Scheduler 和Fair Scheduler 2.7.2版本默认是Capacity Schedulerclass RelatedManager"关联管理器"是在一对多或者多对多的关…

通过C学Python(3)列表的常用方法

查看一个对象的id&#xff1a;id(待查对象)检查一个数据的数据类型&#xff1a;type(数据或变量)查询一个序列对象的元素个数&#xff1a;len(序列对象)查看一个类有哪些方法可用&#xff1a;dir(数据或变量或类)查看一个类或函数的使用说明&#xff1a;help(待查数据) L.appen…

iOS开发之如何将字典转为模型

2019独角兽企业重金招聘Python工程师标准>>> 刚刚学习了如何读取plist&#xff0c;将plist中的字典对象转成数组对象。字典和模型都可以存储数据&#xff0c;既然都可以存储对象&#xff0c;那么为什么要把plist中的字典转成模型呢&#xff1f; 字典 &#xff1a;通…

王道操作系统考研笔记——1.1.4 操作系统的运行机制和体系结构

如果这篇博客对您有用的话&#xff0c;可以给我点个赞吗&#xff0c;这对我很重要&#xff0c;谢谢&#xff01;❤️ 文章目录1.1.4 操作系统的运行机制和体系结构1.1.4.1 两种指令、两种处理器状态、两种程序1.1.4.2 操作系统的内核1.1.4.3 操作系统的体系结构1.1.4.4 小结1.1…

计算机动画的主要应用领域,简述计算机的主要特点和主要应用领域

1."简述计算机的主要特点和主要应用领域特点:运算速度快计算精度高具有记忆能力具有逻辑判断能力在程序控制下自动工作" 2."应用领域科学计算信息处理和管理计算机辅助系统过程控制人工智能" 3."计算机硬件系统由哪几部分组成输入设备输出设备存储器运…

How to remove replication in SyteLine V2

以前曾经写了一篇《How to remove replication in Syteline》http://www.cnblogs.com/insus/archive/2011/12/20/2294831.html 过于简单。 由于SyteLine采用共享License的授技术&#xff0c;如果你从一个正式的数据库复制一个备份&#xff0c;恢复至另外一个站点上&#xff0c…

【Keras】基于SegNet和U-Net的遥感图像语义分割

上两个月参加了个比赛&#xff0c;做的是对遥感高清图像做语义分割&#xff0c;美其名曰“天空之眼”。这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割&#xff0c;所以刚好又把前段时间做的成果重新整理和加强了一下&#xff0c;故写了这篇文章&#xff0c…

随机验证码实现案例

众所周知&#xff0c;验证码在我们的生活中都是非常常见的&#xff0c;很多公司都在各种折腾各种各样的验证码&#xff0c;这里简要的用一个小案例来实现验证码的功能&#xff08;ps:其实我挺讨厌验证码这个东西的&#xff09;。 建立一个javaweb工程&#xff0c;新建login.htm…

每日一题——剑指 Offer24反转链表

如果您是第一次看我写的博客&#xff0c;可以给我点个赞并关注我吗&#xff0c;我会持续分享更多有意思的干货。 文章目录1 题目2 思路3 代码4 小结1 题目 剑指 Offer 24. 反转链表 定义一个函数&#xff0c;输入一个链表的头节点&#xff0c;反转该链表并输出反转后链表的头…

手把手教你写专利申请书/怎样申请专利

手把手教你写专利申请书怎样申请专利摘要小前言&#xff08;一&#xff09;申请前的准备工作 1、申请前查询 2、其它方面的考虑 3、申请文件准备&#xff08;二&#xff09;填写专利申请系列文档 1、实际操作步骤 2、详细操作 3、经验分享、注意事项&#xf…

计算机无法更新正在撤销更改,win7系统无法完成更新正在撤销更改的解决办法...

win7系统无法完成更新正在撤销更改的解决办法&#xff1f;如果我们在使用win7更新系统的时候&#xff0c;出现了win7无法完成更新正在撤销更改请不要关闭你的计算机这样的提示&#xff0c;而且不关闭提醒就会一直收到提示。小编觉得可以在win7设置中的更新和安全里面进行高级选…

libhiredis.so.0.13: cannot open shared object file: No such file or directory in Unknown on line

vim /etc/ld.so.conf添加 /usr/local/lib (此处为动态链接库的目录) ldconfig 转载于:https://www.cnblogs.com/dongbo/p/8336542.html