|
1 | | -学习 |
2 | | -+ __AMD,CMD,CommonJS__ 这几种规范是什么 |
3 | | - |
4 | | - AMD规范,定义一个API define()所有module定义都通过 |
5 | | -+ __Nodejs__ |
6 | | - |
7 | | - JS运行时,脱离浏览器限制.跨平台.提供系统级API访问功能,进程,I/O等等. |
8 | | -* __npm__ |
9 | | -* Node的包管理工 |
10 | | - |
11 | | -* __如何异步加载JS文件,并让其执行__ |
12 | | - |
13 | | - 在HtmlDom中添加script接点.这也是这些模块加载工具的实现,在代码执行完, |
14 | | - 进入内存之后,移除节点. |
15 | | -* 参考:http://www.zhihu.com/question/20342350 |
16 | | -* __require.js__ |
17 | | - 一个异步模块加载工具,模块一般需要实现AMD规范. |
18 | | - |
19 | | - 定义模块: |
20 | | - 需要有一个返回对象,对象是当前module的公开API |
21 | | - define("moduleB",["a","b","c"], |
22 | | - function(a,b,c){ |
23 | | - var funcB = function(){ |
24 | | - alert("funcB"); |
25 | | - } |
26 | | - return { |
27 | | - funcB:funcB |
28 | | - }; |
29 | | - } |
30 | | - ); |
31 | | - |
32 | | - 使用模块: |
33 | | - 引用的module(define回调函数返回的),会在加载完成之后依次回调. |
34 | | - require(['jquery','b'],function($,b){ |
35 | | - //既然我在开头明确声明依赖需求,那可以确定在执行这个回调函数时,依赖 |
36 | | - 肯定是已经满足了 |
37 | | - //所以,放心地使用吧 |
38 | | - }) |
39 | | - |
40 | | - |
41 | | - |
42 | | - |
43 | | - |
44 | | - |
45 | | - |
46 | | -* __sea.js__ |
47 | | -* 一个异步加载工具,遵循所谓的CMD规范(自己起的),可以想Node一样的风格 |
48 | | - 书写代码. |
49 | | - |
50 | | - 定义模块: |
51 | | - define(function(require,exports,modules){ |
52 | | - var $ = require('jquery') |
53 | | - $.get('http://www.zhihu.com') |
54 | | - //传统JS程序员的思维: |
55 | | - //“咦,好神奇,JS加载不应该是异步的么,怎么我一说要依赖,jquery就自己 |
56 | | - 跳出来了?” |
57 | | - }) |
58 | | - 使用模块: |
59 | | - G.use(['./a','./b'],function(a , b){ |
60 | | - a.doSomething(); |
61 | | - b.doSomething(); |
62 | | - }); |
63 | | -* __G.js__ |
64 | | - |
65 | | - 参照Sea.js实现 |
66 | | - 在定义的时候,如果单使用G.js,可以照着api来,如果要基于ng-static, |
67 | | - 将require,export,module当做全局变量来使用,define中function的内容 |
68 | | - 拿出: |
69 | | - var a = require("A.js"); |
70 | | - exprots = { |
71 | | - a: a.A; |
72 | | - } |
73 | | - |
74 | | -* __jquery.js__ |
75 | | -* $.extend (obj1,obj....);将后边对象合并到obj1中 |
76 | | - |
77 | | - |
78 | | -* __underscore.js__ |
79 | | - * 扩展了一些常用的功能,提供一套函数式编程的功能. |
80 | | -* __zepto.js__ |
81 | | -* |
82 | | -* __backbone.js__ |
83 | | -* 一个MVC框架 |
84 | | -* |
85 | | -* __css---@import__ |
86 | | -* |
87 | | -* __grunt__ |
88 | | -* 前端构建工具,基于Nodejs的一个工具,可以对js,css等做一些预处理工作. |
89 | | -* __前端构建工具__ |
90 | | -* |
91 | | -* __自动化__ |
92 | | -* |
93 | | -* __前端模板技术__ |
94 | | -* |
95 | | -* __JS和Html混合__ |
96 | | -* |
97 | | -* __undercoser模板技术__ |
98 | | -* |
99 | | -* __widget__ |
100 | | - |
101 | | - |
102 | | - |
103 | | - |
104 | | - |
105 | | - |
106 | | - |
107 | | - |
108 | | - |
109 | | - |
110 | | - |
111 | | - |
112 | | - |
113 | | - |
114 | | - |
115 | | - |
116 | | - |
117 | | - |
118 | | - |
119 | | - |
120 | | - |
121 | | - |
122 | | - |
123 | | - |
124 | | - |
125 | | - |
126 | | - |
127 | | - |
128 | | - |
129 | | - |
130 | | - |
131 | | - |
132 | | - |
133 | | - |
134 | | - |
135 | | - |
136 | | - |
137 | | - |
138 | | - |
139 | | - |
140 | | - |
141 | | - |
142 | | - |
143 | | - |
144 | | - |
145 | | - |
146 | | - |
147 | | - |
148 | | - |
149 | | - |
150 | | - |
151 | | - |
152 | | - |
153 | | - |
154 | | - |
155 | | - |
156 | | - |
157 | | - |
158 | | - |
159 | | - |
160 | | - |
161 | | - |
162 | | - |
163 | | - |
164 | | - |
165 | | - |
166 | | - |
167 | | - |
| 1 | +学习 |
| 2 | ++ __AMD,CMD,CommonJS__ 这几种规范是什么 |
| 3 | + |
| 4 | + AMD规范,定义一个API define()所有module定义都通过 |
| 5 | ++ __Nodejs__ |
| 6 | + |
| 7 | + JS运行时,脱离浏览器限制.跨平台.提供系统级API访问功能,进程,I/O等等. |
| 8 | +* __npm__ |
| 9 | +* Node的包管理工 |
| 10 | + |
| 11 | +* __如何异步加载JS文件,并让其执行__ |
| 12 | + |
| 13 | + 在HtmlDom中添加script接点.这也是这些模块加载工具的实现,在代码执行完, |
| 14 | + 进入内存之后,移除节点. |
| 15 | +* 参考:http://www.zhihu.com/question/20342350 |
| 16 | +* __require.js__ |
| 17 | + 一个异步模块加载工具,模块一般需要实现AMD规范. |
| 18 | + |
| 19 | + 定义模块: |
| 20 | + 需要有一个返回对象,对象是当前module的公开API |
| 21 | + define("moduleB",["a","b","c"], |
| 22 | + function(a,b,c){ |
| 23 | + var funcB = function(){ |
| 24 | + alert("funcB"); |
| 25 | + } |
| 26 | + return { |
| 27 | + funcB:funcB |
| 28 | + }; |
| 29 | + } |
| 30 | + ); |
| 31 | + |
| 32 | + 使用模块: |
| 33 | + 引用的module(define回调函数返回的),会在加载完成之后依次回调. |
| 34 | + require(['jquery','b'],function($,b){ |
| 35 | + //既然我在开头明确声明依赖需求,那可以确定在执行这个回调函数时,依赖 |
| 36 | + 肯定是已经满足了 |
| 37 | + //所以,放心地使用吧 |
| 38 | + }) |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | +* __sea.js__ |
| 47 | +* 一个异步加载工具,遵循所谓的CMD规范(自己起的),可以想Node一样的风格 |
| 48 | + 书写代码. |
| 49 | + |
| 50 | + 定义模块: |
| 51 | + define(function(require,exports,modules){ |
| 52 | + var $ = require('jquery') |
| 53 | + $.get('http://www.zhihu.com') |
| 54 | + //传统JS程序员的思维: |
| 55 | + //“咦,好神奇,JS加载不应该是异步的么,怎么我一说要依赖,jquery就自己 |
| 56 | + 跳出来了?” |
| 57 | + }) |
| 58 | + 使用模块: |
| 59 | + G.use(['./a','./b'],function(a , b){ |
| 60 | + a.doSomething(); |
| 61 | + b.doSomething(); |
| 62 | + }); |
| 63 | +* __G.js__ |
| 64 | + |
| 65 | + 参照Sea.js实现 |
| 66 | + 在定义的时候,如果单使用G.js,可以照着api来,如果要基于ng-static, |
| 67 | + 将require,export,module当做全局变量来使用,define中function的内容 |
| 68 | + 拿出: |
| 69 | + var a = require("A.js"); |
| 70 | + exprots = { |
| 71 | + a: a.A; |
| 72 | + } |
| 73 | + 可以去掉Gbuilder配置文件的uglify |
| 74 | +* __jquery.js__ |
| 75 | +* $.extend (obj1,obj....);将后边对象合并到obj1中 |
| 76 | + |
| 77 | + |
| 78 | +* __underscore.js__ |
| 79 | + * 扩展了一些常用的功能,提供一套函数式编程的功能. |
| 80 | +* __zepto.js__ |
| 81 | +* |
| 82 | +* __backbone.js__ |
| 83 | +* 一个MVC框架 |
| 84 | +* |
| 85 | +* __css---@import__ |
| 86 | +* |
| 87 | +* __grunt__ |
| 88 | +* 前端构建工具,基于Nodejs的一个工具,可以对js,css等做一些预处理工作. |
| 89 | +* __前端构建工具__ |
| 90 | +* |
| 91 | +* __自动化__ |
| 92 | +* |
| 93 | +* __前端模板技术__ |
| 94 | +* |
| 95 | +* __JS和Html混合__ |
| 96 | +* |
| 97 | +* __undercoser模板技术__ |
| 98 | +* |
| 99 | +* __widget__ |
0 commit comments