PageRenderTime 42ms CodeModel.GetById 14ms RepoModel.GetById 1ms app.codeStats 0ms

/1.4/docs/html/guideline/faq.html

https://github.com/yiminghe/kissyteam.github.com
HTML | 191 lines | 168 code | 17 blank | 6 comment | 0 complexity | 0733d77f253121b9eafddb11141b1824 MD5 | raw file
  1. <!doctype html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>KISSY - A Powerful JavaScript Framework</title>
  6. <meta name="viewport"
  7. content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
  8. <link rel="stylesheet" href="/1.4/source/guideline/templates/assets/??bootstrap.css,normalize.css,kissy.css,prettify.css,forkit.css">
  9. <script src="/1.4/source/guideline/templates/assets/??jquery.min.js,script.js"></script>
  10. <script src="//g.alicdn.com/kissy/k/1.4.7/seed.js" type="text/javascript" data-config="{combine:true}"></script>
  11. <script src="/1.4/source/guideline/api/assets/highlight.pack.js"></script>
  12. <link href="/1.4/source/guideline/api/assets/tomorrow-night-bright.css" rel=stylesheet />
  13. <link rel="shortcut icon" href="http://a.tbcdn.cn/s/kissy/favicon.ico">
  14. </head>
  15. <body class="">
  16. <nav id="sidebar">
  17. <header>
  18. <a href="/">
  19. <!--img src="http://gtms04.alicdn.com/tps/i4/T1ceiPFbpcXXcljp_h-200-89.png"-->
  20. <!--img src="templates/assets/img/logo_6.png"-->
  21. <!--img src="http://gtms04.alicdn.com/tps/i4/T14oa2FcNcXXaOySEh-180-104.png" alt="" /-->
  22. <!--img src="http://gtms01.alicdn.com/tps/i1/T1Amq1FaXgXXbXVSUh-180-127.png" alt="" /-->
  23. <!--img src="http://gtms02.alicdn.com/tps/i2/T1N0jTXXXjXXay7Rri-175-78.png" alt="" /-->
  24. <img src="http://gtms01.alicdn.com/tps/i1/T1MVbxFoRcXXchhRni-175-68.png" alt="" />
  25. </a>
  26. </header>
  27. <ul>
  28. <li class="nav-divider"><a href="/"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-home.png">首页</a></li>
  29. <li><a href="https://github.com/kissyteam/kissy"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-github.png">GitHub</a></li>
  30. <li><a href="https://waffle.io/kissyteam/kissy"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-getting-started.png">RoadMap</a></li>
  31. <li class="nav-divider"><a href="/1.4/docs/html/guideline/why-kissy.html"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-why.png">Why KISSY?</a></li>
  32. <li><a href="/1.4/docs/html/guideline/get-started.html"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-getting-started.png">1.4.x 指导手册</a></li>
  33. <li class="nav-sub"><a href="/1.4/docs/html/guideline/module-map.html">核心模块列表</a></li>
  34. <li class="nav-sub"><a href="/1.4/docs/html/guideline/kmd.html">KISSY 模块规范 (KMD)</a></li>
  35. <!-- <li class="nav-sub"><a href="/1.4/docs/html/guideline/config.html">模块自由定制工具</a></li> -->
  36. <li class="nav-sub"><a href="/1.4/docs/html/guideline/gbs.html">浏览器兼容基准(GBS)</a></li>
  37. <li class="nav-sub"><a href="http://cyj.me/jquery-kissy-rosetta/">jQuery KISSY 对比手册</a></li>
  38. <li class="nav-sub"><a href="http://gallery.kissyui.com/guide">KISSY 组件开发规范</a></li>
  39. <li class="nav-sub nav-divider"><a href="https://github.com/kissyteam/kissy/releases">历史版本</a></li>
  40. <li><a href="/1.4/docs/html/tutorials/"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-getting-started.png">1.4.x 教程文档</a></li>
  41. <li><a href="/1.4/docs/html/demo/"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-getting-started.png">1.4.x demo 示例</a></li>
  42. <li><a href="/1.4/docs/html/guideline/get-started.html"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-getting-started.png">1.4.x 指导手册</a></li>
  43. <li><a href="/1.4/docs/html/api/"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-documentation.png">1.4.x API Doc</a></li>
  44. <li class="nav-sub"><a href="/index-1.3.html">v1.3</a></li>
  45. <li class="nav-sub"><a href="/index-1.2.html">v1.2</a></li>
  46. <li class="nav-sub nav-divider"><a href="/index-1.1.6.html">v1.1.6</a></li>
  47. <li><a href="http://gallery.kissyui.com/kds/1.0/demo/index.html">社区 Demo</a></li>
  48. <li><a href="http://blog.kissyui.com">KISSY Blog</a></li>
  49. <li class="nav-divider"><a href="http://gallery.kissyui.com">KISSY Gallery</a></li>
  50. <li><a href="/1.4/docs/html/guideline/tools.html">KISSY 项目构建工具</a></li>
  51. <li class="nav-sub"><a href="/1.4/docs/html/guideline/kmc.html">KS Module Compiler</a></li>
  52. <li class="nav-sub"><a href="http://def.taobao.net/?doc/#def-xcake">KISSY XCake(内网)</a></li>
  53. <li class="nav-sub nav-divider"><a href="/1.4/docs/html/guideline/clam.html">Clam</a></li>
  54. <li><a href="/1.4/docs/html/guideline/third-party-lib.html">第三方代码库</a></li>
  55. <li class="nav-sub"><a href="https://github.com/lorrylockie/tpap/wiki">面向第三方安全的 KISSY</a></li>
  56. <li class="nav-sub"><a href="http://www.builive.com/demo/index.php">BUI</a></li>
  57. <li class="nav-sub nav-divider"><a href="http://work.tmall.net/muidoc/build/">MUI(内网)</a></li>
  58. <li><a href="https://github.com/kissyteam/kissy/blob/master/CONTRIBUTING.md"> KISSY Core 贡献代码</a></li>
  59. <li class="nav-sub"><a href="http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml">HTML/CSS编码规范</a></li>
  60. <li class="nav-sub nav-divider"><a href="http://docs.kissyui.com/1.4/docs/html/tutorials/style-guide/google-js-style.html">JavaScript 编码规范</a></li>
  61. <li><a href="/1.4/docs/html/guideline/upgrade.html"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-documentation.png">1.3.x->1.4.0 升级指南</a></li>
  62. <li><a href="/1.4/docs/html/guideline/faq.html"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-faqs.png">FAQ</a></li>
  63. </ul>
  64. </nav>
  65. <div id="content">
  66. <article>
  67. <h1>FAQ</h1>
  68. <h3>Q:DOM Node 有什么区别</h3>
  69. <p>Dom 是面向原生节点的第一层封装主要是处理浏览器兼容和功能差异Node 是对节点的第二层封装主要是整合节点的功能并提供标准的API</p>
  70. <pre><code>var btn = KISSY.DOM.get(&#39;#btn&#39;);// 得到原生节点
  71. var btn = KISSY.Node.one(&#39;#btn&#39;);// 得到包装后的节点</code></pre>
  72. <h3>Q:<code>*-min.js</code><code>*.js</code>的区别</h3>
  73. <p><code>*-min.js</code>是对应js的压缩版本开发阶段引用<code>*.js</code>方便调试发布到线上引用<code>*-min.js</code>减少文件体积通常在URL中带入参数<code>?ks-debug</code>开打开KISSY的debug模式<code>*-min.js</code>一般不需要手动生成需要用工具来生成</p>
  74. <h3>Q:<code>rich-base</code><code>base</code>模块我应该用哪个</h3>
  75. <p>在1.4.0以及后续版本中<code>rich-base</code>模块已经不存在只有<code>base</code>模块这里的base模块包含RichBase的功能在1.3.0及以前版本中需要引用<code>rich-base</code>来加载<code>富组件模板</code>1.3.x 及以前版本推荐直接使用<code>rich-base</code>1.4.0及后续版本只需使用base即可</p>
  76. <h3>Q:KISSY 载入没有通过<code>add</code>注册的模块时不执行回调如何解决</h3>
  77. <p>比如:</p>
  78. <pre><code>// a.js
  79. var a = 1;</code></pre>
  80. <p>主程序use这个&quot;模块&quot;:</p>
  81. <pre><code>KISSY.use(&#39;a&#39;,function(){
  82. // 不执行回调
  83. });</code></pre>
  84. <p><code>KISSY.use</code>只有一层含义&quot;执行已经注册过的模块并触发回调&quot;执行的过程中会探测模块是否已经加载这里的加载外部模块是正常逻辑不是独立的一个功能因此通过KISSY加载外部模块外部模块不是<a href="kmd.html">kmd</a>格式会认为不存在名为a的模块因此不会执行回调这样作的好处是依赖关系始终很清晰不会混淆文件模块和非文件模块坏处就是<code>KISSY.use</code>只能用于满足kmd规范的模块KISSY 的设计遵循约定高于配置用易于理解的约定代替一语双关的函数用法的多态</p>
  85. <p><code>YUI().use()</code>具有两层含义&quot;加载外部模块并触发回调&quot;&quot;执行模块逻辑并触发回调&quot;因此<code>YUI().use()</code>可以加载非格式化的外部模块这样作的好处是API统一坏处是需要根据代码上下文搞清楚<code>use()</code>到底承担哪种角色</p>
  86. <p>KISSY 载入外部&quot;文件模块&quot;推荐使用<code>KISSY.getScript()</code></p>
  87. <h3>Q:如果<code>requires</code>的模块过多回调参数需要和模块列表一一对应有没有更简单的办法</h3>
  88. <p>经常看到这种代码</p>
  89. <pre><code>// requires 的模块太多,一不小心就和 function() 里的回调不对应了
  90. KISSY.add(function(S,A,B,C,D,E,F,G){
  91. // Your code...
  92. },{requires:[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;]});</code></pre>
  93. <p>有没有办法不用去肉眼找模块和变量的对应关系有方法KISSY 1.4.1 提供了<code>require</code></p>
  94. <pre><code>KISSY.add(function(S, require){
  95. var A = require(&#39;a&#39;);
  96. var B = require(&#39;b&#39;);
  97. var C = require(&#39;c&#39;);
  98. // Your code...
  99. });</code></pre>
  100. <h3>Q:淘宝 CDN Combo 功能很酷我可以自己部署吗</h3>
  101. <p>淘宝 CDN 基于 NginxCDN Combo Nginx 的一个模块项目开源参照这里<a href="https://github.com/alibaba/nginx-http-concat">HTTP Concatenation module for Nginx</a></p>
  102. <div id="disqus_thread"></div>
  103. <script>
  104. if((window.location.hostname.indexOf("kissyui.com")!=-1 )&& window.localStorage.getItem("kissy-commment")!="0"){
  105. /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
  106. var disqus_shortname = 'kissy-docs'; // required: replace example with your forum shortname
  107. // The following are highly recommended additional parameters. Remove the slashes in front to use.
  108. //var disqus_identifier = '/anim';
  109. //var disqus_url = window.location;
  110. /* * * DON'T EDIT BELOW THIS LINE * * */
  111. (function() {
  112. var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
  113. dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
  114. (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  115. })();
  116. }
  117. </script>
  118. <style>
  119. .github-btn {
  120. border: 0 none;
  121. overflow: hidden;
  122. margin-top:4px;
  123. }
  124. footer {
  125. border-top:1px solid #e2e2e2;
  126. padding-top:20px;
  127. clear:both;
  128. }
  129. /* iPhone 及以下 */
  130. @media only screen and (max-width: 767px) {
  131. .github-link {
  132. display:none;
  133. }
  134. }
  135. </style>
  136. <footer>
  137. <div class="text-center">
  138. ©2010 - 2112 KISSY UI LIBRARY
  139. <br /> <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=kissyteam&amp;repo=kissy&amp;type=watch&amp;count=true" width="100" height="20" title="Star on GitHub"></iframe>
  140. <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=kissyteam&amp;repo=kissy&amp;type=fork&amp;count=true" width="102" height="20" title="Fork on GitHub"></iframe>
  141. </div>
  142. </footer>
  143. </article>
  144. </div>
  145. <script>
  146. var S = KISSY;
  147. (function(){
  148. S.use('node',function(S){
  149. S.all('code').each(function(node){
  150. var className = node.attr('class');
  151. if(/^lang-/.test(className)){
  152. var tc = className.replace(/^lang-/,'');
  153. node.replaceClass(className,tc);
  154. }
  155. });
  156. hljs.tabReplace = ' ';
  157. hljs.initHighlighting();
  158. });
  159. })();
  160. (function(){
  161. var h3s = document.getElementsByTagName('h3');
  162. for(var i = 0;i<h3s.length;i++){
  163. var str = S.trim(h3s[i].innerHTML);
  164. try{
  165. str = str.match(/\w+/)[0];
  166. }catch(e){
  167. continue;
  168. }
  169. h3s[i].innerHTML = '<a name="'+str+'"></a>' + h3s[i].innerHTML;
  170. }
  171. })();
  172. </script>
  173. </body>
  174. </html>