/1.4/docs/html/guideline/faq.html
HTML | 191 lines | 168 code | 17 blank | 6 comment | 0 complexity | 0733d77f253121b9eafddb11141b1824 MD5 | raw file
- <!doctype html>
- <html lang="zh">
- <head>
- <meta charset="utf-8">
- <title>KISSY - A Powerful JavaScript Framework</title>
- <meta name="viewport"
- content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
- <link rel="stylesheet" href="/1.4/source/guideline/templates/assets/??bootstrap.css,normalize.css,kissy.css,prettify.css,forkit.css">
- <script src="/1.4/source/guideline/templates/assets/??jquery.min.js,script.js"></script>
- <script src="//g.alicdn.com/kissy/k/1.4.7/seed.js" type="text/javascript" data-config="{combine:true}"></script>
- <script src="/1.4/source/guideline/api/assets/highlight.pack.js"></script>
- <link href="/1.4/source/guideline/api/assets/tomorrow-night-bright.css" rel=stylesheet />
- <link rel="shortcut icon" href="http://a.tbcdn.cn/s/kissy/favicon.ico">
- </head>
- <body class="">
- <nav id="sidebar">
- <header>
- <a href="/">
- <!--img src="http://gtms04.alicdn.com/tps/i4/T1ceiPFbpcXXcljp_h-200-89.png"-->
- <!--img src="templates/assets/img/logo_6.png"-->
- <!--img src="http://gtms04.alicdn.com/tps/i4/T14oa2FcNcXXaOySEh-180-104.png" alt="" /-->
- <!--img src="http://gtms01.alicdn.com/tps/i1/T1Amq1FaXgXXbXVSUh-180-127.png" alt="" /-->
- <!--img src="http://gtms02.alicdn.com/tps/i2/T1N0jTXXXjXXay7Rri-175-78.png" alt="" /-->
- <img src="http://gtms01.alicdn.com/tps/i1/T1MVbxFoRcXXchhRni-175-68.png" alt="" />
- </a>
- </header>
- <ul>
- <li class="nav-divider"><a href="/"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-home.png">首页</a></li>
- <li><a href="https://github.com/kissyteam/kissy"><img src="/1.4/docs/html/guideline/templates/assets/img/icon-github.png">GitHub</a></li>
- <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>
- <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>
- <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>
- <li class="nav-sub"><a href="/1.4/docs/html/guideline/module-map.html">核心模块列表</a></li>
- <li class="nav-sub"><a href="/1.4/docs/html/guideline/kmd.html">KISSY 模块规范 (KMD)</a></li>
- <!-- <li class="nav-sub"><a href="/1.4/docs/html/guideline/config.html">模块自由定制工具</a></li> -->
- <li class="nav-sub"><a href="/1.4/docs/html/guideline/gbs.html">浏览器兼容基准(GBS)</a></li>
- <li class="nav-sub"><a href="http://cyj.me/jquery-kissy-rosetta/">jQuery KISSY 对比手册</a></li>
- <li class="nav-sub"><a href="http://gallery.kissyui.com/guide">KISSY 组件开发规范</a></li>
- <li class="nav-sub nav-divider"><a href="https://github.com/kissyteam/kissy/releases">历史版本</a></li>
- <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>
- <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>
- <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>
- <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>
- <li class="nav-sub"><a href="/index-1.3.html">v1.3</a></li>
- <li class="nav-sub"><a href="/index-1.2.html">v1.2</a></li>
- <li class="nav-sub nav-divider"><a href="/index-1.1.6.html">v1.1.6</a></li>
- <li><a href="http://gallery.kissyui.com/kds/1.0/demo/index.html">社区 Demo</a></li>
- <li><a href="http://blog.kissyui.com">KISSY Blog</a></li>
- <li class="nav-divider"><a href="http://gallery.kissyui.com">KISSY Gallery</a></li>
- <li><a href="/1.4/docs/html/guideline/tools.html">KISSY 项目构建工具</a></li>
- <li class="nav-sub"><a href="/1.4/docs/html/guideline/kmc.html">KS Module Compiler</a></li>
- <li class="nav-sub"><a href="http://def.taobao.net/?doc/#def-xcake">KISSY XCake(内网)</a></li>
- <li class="nav-sub nav-divider"><a href="/1.4/docs/html/guideline/clam.html">Clam</a></li>
- <li><a href="/1.4/docs/html/guideline/third-party-lib.html">第三方代码库</a></li>
- <li class="nav-sub"><a href="https://github.com/lorrylockie/tpap/wiki">面向第三方安全的 KISSY</a></li>
- <li class="nav-sub"><a href="http://www.builive.com/demo/index.php">BUI</a></li>
- <li class="nav-sub nav-divider"><a href="http://work.tmall.net/muidoc/build/">MUI(内网)</a></li>
- <li><a href="https://github.com/kissyteam/kissy/blob/master/CONTRIBUTING.md">为 KISSY Core 贡献代码</a></li>
- <li class="nav-sub"><a href="http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml">HTML/CSS编码规范</a></li>
- <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>
- <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>
- <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>
-
- </ul>
- </nav>
- <div id="content">
- <article>
-
- <h1>FAQ</h1>
- <h3>Q:DOM 和 Node 有什么区别?</h3>
- <p>Dom 是面向原生节点的第一层封装,主要是处理浏览器兼容和功能差异,Node 是对节点的第二层封装,主要是整合节点的功能并提供标准的API。</p>
- <pre><code>var btn = KISSY.DOM.get('#btn');// 得到原生节点
- var btn = KISSY.Node.one('#btn');// 得到包装后的节点</code></pre>
- <h3>Q:<code>*-min.js</code>和<code>*.js</code>的区别</h3>
- <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>
- <h3>Q:<code>rich-base</code>和<code>base</code>模块我应该用哪个?</h3>
- <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>
- <h3>Q:KISSY 载入没有通过<code>add</code>注册的模块时不执行回调,如何解决?</h3>
- <p>比如:</p>
- <pre><code>// a.js
- var a = 1;</code></pre>
- <p>主程序use这个"模块":</p>
- <pre><code>KISSY.use('a',function(){
- // 不执行回调
- });</code></pre>
- <p><code>KISSY.use</code>只有一层含义:"执行已经注册过的模块并触发回调"。执行的过程中会探测模块是否已经加载,这里的加载外部模块是正常逻辑,不是独立的一个功能。因此,通过KISSY加载外部“模块”时(外部模块不是<a href="kmd.html">kmd</a>格式),会认为不存在名为a的模块,因此不会执行回调。这样作的好处是依赖关系始终很清晰、不会混淆文件模块和非文件模块。坏处就是<code>KISSY.use</code>只能用于满足kmd规范的模块。KISSY 的设计遵循“约定高于配置“,用易于理解的约定代替一语双关的函数用法的多态。</p>
- <p><code>YUI().use()</code>具有两层含义:"加载外部模块并触发回调"、"执行模块逻辑并触发回调"。因此<code>YUI().use()</code>可以加载非格式化的外部模块。这样作的好处是API统一,坏处是需要根据代码上下文搞清楚<code>use()</code>到底承担哪种角色。</p>
- <p>KISSY 载入外部"文件模块"时,推荐使用<code>KISSY.getScript()</code>。</p>
- <h3>Q:如果<code>requires</code>的模块过多,回调参数需要和模块列表一一对应,有没有更简单的办法?</h3>
- <p>经常看到这种代码:</p>
- <pre><code>// requires 的模块太多,一不小心就和 function() 里的回调不对应了
- KISSY.add(function(S,A,B,C,D,E,F,G){
- // Your code...
- },{requires:['a','b','c','d','e','f','g']});</code></pre>
- <p>有没有办法不用去肉眼找模块和变量的对应关系?有方法,KISSY 1.4.1 提供了<code>require</code></p>
- <pre><code>KISSY.add(function(S, require){
- var A = require('a');
- var B = require('b');
- var C = require('c');
- // Your code...
- });</code></pre>
- <h3>Q:淘宝 CDN 的 Combo 功能很酷,我可以自己部署吗?</h3>
- <p>淘宝 CDN 基于 Nginx,CDN Combo 是 Nginx 的一个模块,项目开源,参照这里:<a href="https://github.com/alibaba/nginx-http-concat">HTTP Concatenation module for Nginx</a></p>
- <div id="disqus_thread"></div>
- <script>
- if((window.location.hostname.indexOf("kissyui.com")!=-1 )&& window.localStorage.getItem("kissy-commment")!="0"){
- /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
- var disqus_shortname = 'kissy-docs'; // required: replace example with your forum shortname
- // The following are highly recommended additional parameters. Remove the slashes in front to use.
- //var disqus_identifier = '/anim';
- //var disqus_url = window.location;
- /* * * DON'T EDIT BELOW THIS LINE * * */
- (function() {
- var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
- dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
- })();
- }
- </script>
-
- <style>
- .github-btn {
- border: 0 none;
- overflow: hidden;
- margin-top:4px;
- }
- footer {
- border-top:1px solid #e2e2e2;
- padding-top:20px;
- clear:both;
- }
- /* iPhone 及以下 */
- @media only screen and (max-width: 767px) {
- .github-link {
- display:none;
- }
- }
- </style>
- <footer>
- <div class="text-center">
- ©2010 - 2112 KISSY UI LIBRARY
- <br /> <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=kissyteam&repo=kissy&type=watch&count=true" width="100" height="20" title="Star on GitHub"></iframe>
- <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=kissyteam&repo=kissy&type=fork&count=true" width="102" height="20" title="Fork on GitHub"></iframe>
- </div>
- </footer>
- </article>
- </div>
- <script>
- var S = KISSY;
- (function(){
- S.use('node',function(S){
- S.all('code').each(function(node){
- var className = node.attr('class');
- if(/^lang-/.test(className)){
- var tc = className.replace(/^lang-/,'');
- node.replaceClass(className,tc);
- }
- });
- hljs.tabReplace = ' ';
- hljs.initHighlighting();
- });
- })();
- (function(){
- var h3s = document.getElementsByTagName('h3');
- for(var i = 0;i<h3s.length;i++){
- var str = S.trim(h3s[i].innerHTML);
- try{
- str = str.match(/\w+/)[0];
- }catch(e){
- continue;
- }
- h3s[i].innerHTML = '<a name="'+str+'"></a>' + h3s[i].innerHTML;
- }
- })();
- </script>
- </body>
- </html>