知道JS有模块化开发的说法,也偶尔听过requireJs,AMD,CMD等等名字,甚至使用node的时候,还用过require之类的方法,但是对这些一直没有一个明确的认识和概念.想必这就是许多新手刚接触这方面知识时的一个普遍状态. 其实仅仅做一些基础的活儿的时候,并不需要对它们有太多的了解,知道怎么用就行了,管他是什么理念,是什么实现呢.于是人就懒下来了. 终于有一天,下定决心,一定要把这一块知识搞清楚,至少对此有个鲜明的认知,不再那么朦朦胧胧,A/C不分. 查了一些文章博客和知乎回答,发现大部…
一.CommonJS 1.CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API.它的终极目标是提供一个类似Python,Ruby和Java标准库.CommonJs 是服务器端模块的规范,Node.js采用了这个规范. 2.这些规范涵盖了模块.二进制.Buffer.字符集编码.I/O流.进程环境.文件系统.套接字.单元测试.违背.服务器网关接口.包管理等. 3.根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行…
随着网站规模的不断扩大,嵌入网页中的javascript代码越来越大,开发过程中存在大量问题,如:协同开发,代码复用,大量文件引入,命名冲突,文件依赖. 模块化编程称为迫切的需求. 所谓的模块,就是实现特定功能的一组方法. 1. 模块的发展 1)函数封装 // 存在问题:污染全局变量,模块成员之间看不出直接关系 function add(x, y) { return x + y; } 2)对象封装 // 存在问题:暴露模块中的成员,可以被修改 var math = { add: function…
AMD CMD ES6模块化 各个模块化规范对比理解 一.AMD 在上一篇js模块化入门与commonjs解析与应用中详细的解析了关于commonjs模块化规范,commonjs采用的用同步加载方式,这导致它并不是浏览器理想的模块化规范.因为浏览器需要到服务器加载文件,请求事件远远大于本机读取的时间,如果文件较多,网络迟缓就会导致页面瘫痪,所以浏览器更希望能够实现异步加载的方式. AMD规范则是异步加载模块,用于指定回调函数.等模块加载完成以后即可调用回调函数.AMD规范得意的产出就是requi…
/* animate */ //直接加载 (function() { var animate = {} //balabala window.animate = animate; })(); //AMD 加载器模式 define(function() { var animate = {} //balabala return animate; }); //CMD&&AMD&&直接加载 (function() { var animate = {} //balabala if (t…
common.js var app = angular.module('app', ['ngFileUpload']) .factory('SV_Common', function ($http) { var data = { WebService: '', }; var vm = { log: function (par, par1) { return; if (par1) { console.log('********** common: ' + par + ' |', par1); } e…
Code/** * Created by LT on 2013/6/16. * Common.js * 对原生JS对象的扩展 * Object.Array.String.Date.Ajax.Cookie */ ;(function(){ Object.extend =function(targetObj,fnJson){ for(var fnName in fnJson){ targetObj[fnName]=fnJson[fnName]; } return targetObj; }; /**…
我觉得吧,是这么个原因,就是响应式要找这个node改它的内容,没找着,就报错了. 用computed监控vuex的state属性,绑定到页面上,如果这个属性改了,因为响应式,那么就要更改页面,如果页面不是当前页面,那么就会出现vue.common.js?e881:433 TypeError: Cannot read property 'nodeName' of undefined这样的报错..... 但是vue.common.js里写 // Sort queue before flush. //…
项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data: data, dataType: 'json', success: ok, error: error }); } h.post = function (url, data, ok, error) { $.ajax({ url: url, data: data, type: 'post', data…
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data: data, dataType: 'json', success: ok, error: error }); } h.post = function (url, data, ok, error) { $.ajax({ url: url, data: da…