模块化
RainsP
这个作者很懒,什么都没留下…
展开
-
命名冲突和变量污染
// 模块A的代码 var isA=false; // 模块A创建了方法a() function a(){ ... } // 模块A改变了模块B中变量b的值,造成了变量污染 b=1; // 模块B的代码 var b=0; // 模块B创建了方法b() function b(){ ... } // 模块B也想创建方法a(),造成了命名冲突 function a()[ ... } ...原创 2018-10-25 09:43:52 · 185 阅读 · 0 评论 -
JavaScript命名空间
方法名称 前缀命名空间 对象命名空间 IIFE立即执行函数表达式 代码 var moduleA_a = 0;function moduleA_methodA(){...} var moduleB = {b:0,methodB:function(){...} var moduleC = (function(){var c=0;function methodC(){...}return...原创 2018-10-25 11:08:54 · 97 阅读 · 0 评论 -
模块化规范
common.js AMD异步模块定义(require.js) CMD 通用模块定义(sea.js) 1.文件即模块2. 使用module.exports(exports)暴露对外接口3.使用require同步加载依赖模块 1.define定义模块2.使用require调用模块3.AMD 推崇依赖前置,在定义模块的时候就要声明其依赖的模块4.AMD 提前执行依赖(异步加载:依赖先执...原创 2018-10-25 14:38:50 · 321 阅读 · 0 评论 -
r.js(require.js的优化工具)的使用
文件目录结构: 写build.js文件: ({ appDir:'./',// 项目根目录 baseUrl:'./js',// 相对于appDir,代表要查找js文件的起始文件夹 dir:'./dist',// 输出目录 removeCombined:true,// 如果为true,将从输出目录中删除已合并的文件 modules:[ // 下面是每个页面需要用到的模块,说白了就是各页...原创 2018-10-25 15:25:53 · 1496 阅读 · 0 评论