JavaScript模块化编程方案+模块异步加载方案
来源:互联网 发布:交互动画软件 编辑:程序博客网 时间:2024/05/17 09:00
最近更新时间:2017年8月2日14:07:31
技术需要学习,更需要实践和积累,随着web项目的健壮,前端的岗位职责越来越重大,本文主要详解JavaScript模块化编程方案和模块异步加载方案
1、最佳模块化编程方案:立即执行函数写法封装独立模块的私有变量和方法
比如,项目整体需要封装一个 用户输入信息(手机号、身份证号、邮箱)的校验模块,可采用如下模块化方案,模块内部对象成员私有化不对外暴露,即外部无法修改内部私有成员,只能访问。
//commonJS.js
var commonJS = (function(){
var statement = "this module is a common JS function!";
var isPhone = function(){if(true) return true};
var isIdcard = function(){if(true) return true};
var isEmail = function(){if(true) return true};
return {
statement:statement,
isPhone:isPhone,
isIdcard:isIdcard,
isEmail:isEmail
}
})();
2、模块使用全局变量的方案
//commonJS.js
var commonJS = (function($){
//
})(jQuery);
3、JavaScript模块规范
目前民间的两种Javascript模块规范:CommonJS和AMD
CommonJS规范中的模块加载方案,require("commonJS.js"),用于加载模块,属于同步加载,并且只有一个参数;
AMD规范中的模块加载方案,require("commonJS.js",function(){}),属于异步加载模块,第一个参数为加载的模块,第二个参数为模块加载成功的回调函数;
3、模块异步加载方案
解决的问题:实现js文件的异步加载,避免网页失去响应;管理模块之间的依赖性,便于代码的编写和维护。
具体方案如下:
<script type="text/javascript" src="require.js" defer async="true" data-main="../../home"></script>
注意:data-main是我们自己写的用来操作页面的js文件,称作主模块,相对路径是相对于require.js的路径!
在主模块中需要配置它的依赖,这是就需要用到require的异步加载机制;
require.js加载的模块采用AMD规范,模块必须按照AMD的规定来写,模块必须采用特定的define()函数来定义;如果没有使用AMD规范的define函数,需要在require.config.shim属性做兼容配置;
- JavaScript模块化编程方案+模块异步加载方案
- JavaScript模块化编程方案
- 异步加载js方案
- 异步加载js方案
- JS异步加载方案
- Android 异步加载方案详解
- Android中异步加载方案
- JavaScript 异步方案 async/await
- JavaScript 异步方案 async/await
- javascript模块化、模块加载器初探
- U3D资源动态加载异步方案探究
- 一个简单的异步加载方案
- quick 3.3 "异步"加载Spine方案.md
- js异步加载三种方案
- js异步加载的三种方案
- Javascript模块化编程:模块的写法
- Javascript模块化编程(一):模块…
- Javascript模块化编程(一):模块的写法
- Js中Date的格式化扩展
- HDU -- 2853 Assignment 【思维 + KM算法】
- 从Jenkins打包到项目部署
- Google VR开发-Cardboard VR SDK头部追踪实现(罗德里格旋转公式)
- spark rdd操作API
- JavaScript模块化编程方案+模块异步加载方案
- Mysql常用命令大全
- H5 CSS
- ClippingNode裁剪节点(模板遮罩)
- arcgis license 启动不了
- 高斯平滑 高斯模糊 高斯滤波器,python 实现
- 日常工作部门及体系相关单词
- 七夕,思念里的流浪狗在哭---众智云
- MyEclipse项目里面出现红叉的解决方案?