模块化开发
(转)https://segmentfault.com/a/1190000000733959
什么是模块化开发,为什么要使用模块化开发?
前端开发中,起初只要在script标签中嵌入几十上百行代码就能实现一些基本的交互效果,后来js得到重视,应用也广泛起来了,jQuery,Ajax,Node.Js,MVC,MVVM等的助力也使得前端开发得到重视,也使得前端项目越来越复杂,然而,JavaScript却没有为组织代码提供任何明显帮助,甚至没有类的概念,更不用说模块(module)了,下图是一张没有使用模块化开发时的图片,看了图你就知道为什么要进行模块化开发了,那么什么是模块呢?
一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,否则就都乱套了。
根据AMD规范,我们可以使用define定义模块,使用require调用模块。
目前,通行的js模块规范主要有:CommonJS、AMD、CMD、ES6。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 读写锁 ReentrantReadWriteLock 源码分析
本文内容:读写锁 ReentrantReadWriteLock 的源码分析,基于 Java7/Java8。 阅读建议:虽然我这里会介绍一些 AQS 的知识,不过如果你完全不了解 AQS,看本文就有点吃力了。 目录 使用示例 ReentrantReadWriteLock 总览 源码分析 读锁获取 读锁释放 写锁获取 写锁释放 锁降级 总结 使用示例 下面这个例子非常实用,我是 javadoc 的搬运工: // 这是一个关于缓存操作的故事 class CachedData { Object data; volatile boolean cacheValid; // 读写锁实例 final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(); void processCachedData() { // 获取读锁 rwl.readLock().lock(); if (!cacheValid) { // 如果缓存过期了,或者为 null // 释放掉读锁,然后获取写锁 (后面会看到,没释放掉读锁就获取写锁,会发生死锁情况) rwl....
- 下一篇
演练系统事件处理程序? So Easy~
演练事件处理程序有点难 ECS实例系统事件是影响实例运行状态的有计划或非预期事件。为了ECS实例上的业务平稳运行,最佳的做法是通过程序自动化地处理事件。您可以参考这篇文章:使用OpenAPI自动化处理ECS系统事件但这里有一个问题,程序写完了不好测试。系统事件是系统在特定场景下生成的,不一定能人工触发;ECS实例跑的很稳定,总是不出问题,几个月也没等到一个事件。我们需要一种方式来方便地演练事件处理程序。 ECS演练OpenAPI ECS提供了一对用来演练事件处理程序的OpenAPI:CreateSimulatedSystemEvents和CancelSimulatedSystemEvents,分别用来创建和取消模拟系统事件。什么是模拟系统事件?模拟系统事件是专门用来演练系统事件处理程序的。通过设置一个模拟系统事件,您可以从OpenAPI
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音