javascript高级模块化require.js的具体使用方法

前端之家收集整理的这篇文章主要介绍了javascript高级模块化require.js的具体使用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文介绍了require.js的具体使用方法分享给大家,也给自己留个笔记。

Require.js:

RequireJS是一个非常小巧的javascript模块载入框架,是AMD(Asynchronous Module Definition,异步模块加载机制)规范最好的实现之一。最新版的requireJS压缩后只有14k,堪称非常轻量。它还同时可以和其他的框架协调工作,使用requireJS必将使我们的前端代码质量得以提升。

首先我们先来看一下一个普通的页面js加载

<Meta charset="UTF-8"> @H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_14@ <script type="text/javascript" src="js/index02.js" ></script> </head> <body> <h1>this is a page.</h1> </body> </html></pre> </div> <p>运行结果:</p> <p style="text-align: center"><p class="pic_center"><img src="https://files.jb51.cc/file_images/article/201710/2017103111564213.png" alt="" /></p></p> <p>此时,如果我们不对弹出框做操作,<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>就不会接着加载,就不会有<a href="/tag/yemian/" target="_blank" class="keywords">页面</a><a href="/tag/neirong/" target="_blank" class="keywords">内容</a>,这并不是我们想要实现的结果。</p> <p>下面我们用require.js进行操作:</p> <p>index.html</p> <div class="jb51code"> <pre class="brush:xhtml;"> <!DOCTYPE html> <html> <head> <<a href="/tag/Meta/" target="_blank" class="keywords">Meta</a> charset="UTF-8"> <title>@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_14@ <script src="js/require2.1.11.js"></script> <script type="text/javascript"> require(["js/index","js/index01"],function(){ console.log("当js加载成功后会执行的<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>"); },function(){ console.log("当js加载失败后会执行的<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>"); }); </script> </head> <body> </body> </html> </pre> </div> <p>index.js </p> <div class="jb51code"> <pre class="brush:js;"> define(function(){ console.log("this is a test!"); function test(){ console.log("haha,i am a test!"); } test(); });</pre> </div> <p>首先<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>上不再导入test02.js,只是导入了requireJS,其次在javascript中我们使用require()<a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>,在其中传递了一个数组的参数,实参为我们要导入的js<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>的【路径+<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a><a href="/tag/mingcheng/" target="_blank" class="keywords">名称</a>。</p> <p>此时的运行结果:</p> <p><p class="pic_center"><img src="https://files.jb51.cc/file_images/article/201710/2017103111564314.png" alt="" /></p> </p> <p><p class="pic_center"><img src="https://files.jb51.cc/file_images/article/201710/2017103111564315.png" alt="" /></p></p> <p><p class="pic_center"><img src="https://files.jb51.cc/file_images/article/201710/2017103111564316.png" alt="" /></p></p> <p>可以看出,此时<a href="/tag/yemian/" target="_blank" class="keywords">页面</a><a href="/tag/neirong/" target="_blank" class="keywords">内容</a>已经显现出来了。并不像前面我们传统的一样在等待js运行完成后<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>再加载,而是<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>加载完成后才运行js<a href="/tag/daima/" target="_blank" class="keywords">代码</a>,这样在运行效率上就大大的提高了。</p> <p>根据上面的<a href="/tag/daima/" target="_blank" class="keywords">代码</a>,我们可以来分析requirejs的基本API:</p> <p>requireJS会定义三个变量:define,require,requirejs</p> <ol> <li>require==requirejs,一般使用require更简短。</li> <li>define 用来定义一个模块</li> <li>require 加载依赖模块(引用定义好的模块),并执行加载完后的回调<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a></li> </ol> <p>require有三个参数:</p> <div class="jb51code"> <pre class="brush:js;"> require(["js/index",function(){ console.log("当js加载失败后会执行的<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>"); }); //第一个参数:定义require中的依赖,参数必须是数组形式,即使只有一个依赖,也必须使用数组形式传参。 //第二个参数:是一个回调<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>,用来处理加载完毕后的逻辑,当所有模块加载完成后触发 //第三个参数:也是一个回调<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>,用来处理模块加载失败后的情况。如上面<a href="/tag/daima/" target="_blank" class="keywords">代码</a>,js中没有定义index01.js这个<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>,所以出<a href="/tag/diaoyong/" target="_blank" class="keywords">调用</a>这个回调<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>。</pre> </div> <p><h3>加载网络<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a></h3></p> <p>之前我们加载的都是本地的js<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>,但是,有些时候我们又需要加载网络上的<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>,那又该怎么加载呢?下面我们就来介绍一下怎样加载网络上的js<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>.</p> <p>我们现在以加载一个jquery.js<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>为例:</p> <div class="jb51code"> <pre class="brush:js;"> //<a href="/tag/baidu/" target="_blank" class="keywords">百度</a>cdn公共库jQuery地址: http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js //jQuery官方地址: https://code.jquery.com/jquery-3.1.1.js //注意:网络上去取时不能加后缀,否则取不到 require.config({ paths : { //为网络上的库去一个名字:jquery "jquery" : ["https://code.jquery.com/jquery-3.1.1"] } }); <p>//<br /> require(["jquery","js/test01","js/test02"],function(){<br /> alert("<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>加载成功~~");<br /> },function(){<br /> alert("<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>加载失败~~")<br /> });</p> </pre> </div> <p>在取网络上的<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>时注意:</p> <p>1、config<a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>的参数是一个对象 2、paths的值也是一个对象 3、当我们为网络上的库取名字是任意,但是建议取有意义的名字,别人可以通过<a href="/tag/mingcheng/" target="_blank" class="keywords">名称</a>知道你的网络资源是什么资源 4、库的值是一个数组,意味着可以多个同时写,防止网络异常取不到 5、特别注意:网络资源路径不能带后缀名,否则取不到 6、我们也可以先让去网络中去取,如果取不到,再在本地取,减轻本地服务的压力(属于项目优化)。</p> <div class="jb51code"> <pre class="brush:js;"> require.config({ paths : { //这样配置,减轻本地服务器的压力 "jquery" : ["https://code.jquery.com/jquery-3.1.1.js","js/jquery-1.8.3"] } }); <p>//<br /> require(["jquery",function(){<br /> alert("<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>加载失败~~")<br /> });</p> </pre> </div> <p>同样我们也可以将本地的配置到paths中:</p> <div class="jb51code"> <pre class="brush:js;"> require.config({ paths : { //这样配置,减轻本地服务器的压力 "jquery" : ["https://code.jquery.com/jquery-3.1.1","js/jquery-1.8.3"],//将本地的js<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>同样配置,之后引用 "test01" : ["js/test01"],"test02" : ["js/test02"] } }); <p>//<br /> require(["jquery","test01","test02"],function(){<br /> alert("<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>加载失败~~")<br /> });</p> </pre> </div> <p>上面的例子中重复出现了require.config配置,如果每个<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>中都加入配置,必然显得十分不雅,requirejs提供了一种叫”主数据”的<a href="/tag/gongneng/" target="_blank" class="keywords">功能</a>,我们首先创建一个main.js:</p> <div class="jb51code"> <pre class="brush:js;"> require.config({ paths : { //这样配置,减轻本地服务器的压力 "jquery" : ["https://code.jquery.com/jquery-3.1.1","test02" : ["js/test02"] } });</pre> </div> <p>然后再<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>中使用下面的方式来使用requirejs:</p> <div class="jb51code"> <pre class="brush:js;"> <script type="text/javascript" src="js/require2.1.11.js" ></script> <script type="text/javascript" src="js/main.js" ></script> <script type="text/javascript"> <p>require(["jquery","t1","t2"],function(){<br /> alert("<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>加载成功~~");<br /> },function(){<br /> alert("<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>加载失败~~")<br /> });</p> </script> </pre> </div> <p>在官方提供了一种基于<a href="/tag/biaoqian/" target="_blank" class="keywords">标签</a><a href="/tag/shuxing/" target="_blank" class="keywords">属性</a>的方式:</p> <div class="jb51code"> <pre class="brush:js;"> <script data-main="js/main" src="js/require2.1.11.js" ></script></pre> </div> <p>将所有的配置和导入js都放在了main.js中,这样在<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>只要这样一个<a href="/tag/biaoqian/" target="_blank" class="keywords">标签</a>就行了。</p> <p><a href="/tag/daima/" target="_blank" class="keywords">代码</a>演示如下:</p> <div class="jb51code"> <pre class="brush:js;"> //test01.js--定义一个js模块 define(function(){ function test(){ console.log("this is test01.js"); } test(); <p>$("p").css("color","#DB7093");<br /> });</p> </pre> </div> <div class="jb51code"> <pre class="brush:js;"> //main.js--requirejs的全局配置 require.config({ paths:{ "jquery":["jquery-1.8.3"],"test":["test01"] },shim:{ "test":["jquery"] } }); require(["test"],function(){ console.log("success!"); });</pre> </div> <div class="jb51code"> <pre class="brush:xhtml;"> //index.html--此时,引入js<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>只需一行<a href="/tag/daima/" target="_blank" class="keywords">代码</a> <!DOCTYPE html> <html> <head> <<a href="/tag/Meta/" target="_blank" class="keywords">Meta</a> charset="UTF-8"> <title>@H_<a href="/tag/301/" target="_blank" class="keywords">301</a>_14@ <script type="text/javascript" data-main = "js/main" src="js/require2.1.11.js" ></script> </head> <body> <p>i am liyanan and this is a testn Page.</p> </body> </html></pre> </div> <p>以上就是本文的全部<a href="/tag/neirong/" target="_blank" class="keywords">内容</a>,希望对大家的学习有所帮助,也希望大家多多<a href="/tag/zhichi/" target="_blank" class="keywords">支持</a>编程之家。</p></div> <div class="topcard-tags"><a href="/tag/javascriptp/" class="tag_link" target="_blank">javascript</a><a href="/tag/require/" class="tag_link" target="_blank">require</a><a href="/tag/requirep/" class="tag_link" target="_blank">require</a><a href="/tag/prequire/" class="tag_link" target="_blank">require</a><a href="/tag/requirejsmokuaihua/" class="tag_link" target="_blank">require.js模块化</a><a href="/tag/mokuaihua/" class="tag_link" target="_blank">模块化</a><a href="/tag/mokuaihuap/" class="tag_link" target="_blank">模块化</a></div> <ul class="list-group"> <li class="list-group-item"><a href="/js/35442.html" title="JS简单实现点击跳转登陆邮箱功能的方法">上一篇:JS简单实现点击跳转登陆邮箱功能的</a><a href="/js/35438.html" title="React Native使用Modal自定义分享界面的示例代码" class="text-muted pull-right">下一篇:React Native使用Modal自定义分享界</a> </li> </ul> </div> </div> </div> <!-- row end --> <div class="row row-sm"> <div class="col-sm-12 col-md-12 col-lg-12"> <div class="card"> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-4605373693034661" data-ad-slot="9144498553"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> </div> </div> <div class="row row-sm"> <div class="col-sm-12 col-md-12 col-lg-12"> <div class="card"> <div class="title"><h1>猜你在找的JavaScript相关文章</h1></div> <div class="list_con"> <a href="/js/997747.html" title="Javascript中的事件冒泡与捕获"><div class="title">Javascript中的事件冒泡与捕获</div> <div class="summary">事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支...</div> <time class="summary">作者:前端之家 时间:2021-02-22</time> </a> </div> <div class="list_con"> <a href="/js/997746.html" title="搞懂js中小数运算精度问题原因及解决办法"><img class="lazy" src="/images/np.jpg" data-original="/res/2021/02-22/19/e40e1eb184cb2a5d8c5f6c5e730d8e82.png" title="" width="160" height="90" style="float:right;margin-left:30px;display:none;" /><div class="title">搞懂js中小数运算精度问题原因及解决办法</div> <div class="summary">js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其...</div> <time class="summary">作者:前端之家 时间:2021-02-22</time> </a> </div> <div class="list_con"> <a href="/js/997744.html" title="搞懂:前端跨域问题JS解决跨域问题VUE代理解决跨域问题原理"><div class="title">搞懂:前端跨域问题JS解决跨域问题VUE代理解决跨域问题原理</div> <div class="summary">什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提...</div> <time class="summary">作者:前端之家 时间:2021-02-22</time> </a> </div> <div class="list_con"> <a href="/js/997743.html" title="前端对base64编码的理解,原生js实现字符base64编码"><div class="title">前端对base64编码的理解,原生js实现字符base64编码</div> <div class="summary">@ &quot;TOC&quot; 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是...</div> <time class="summary">作者:前端之家 时间:2021-02-22</time> </a> </div> <div class="list_con"> <a href="/js/997742.html" title="搞懂:MVVM模型以及VUE中的数据绑定数据劫持发布订阅模式"><div class="title">搞懂:MVVM模型以及VUE中的数据绑定数据劫持发布订阅模式</div> <div class="summary">搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图...</div> <time class="summary">作者:前端之家 时间:2021-02-22</time> </a> </div> <div style="border-bottom: 1px solid #f4f4f4;margin-top:20px;"> <ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-fr-2o+fp-dx-wx" data-ad-client="ca-pub-4605373693034661" data-ad-slot="4561116489"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div><div class="list_con"> <a href="/js/997318.html" title="js判断浏览器是否支持webGL"><div class="title">js判断浏览器是否支持webGL</div> <div class="summary">起因是我之前开发的网页,用到了three.js制作了一个3d的旋转球体效果。 在各种浏览器上运行...</div> <time class="summary">作者:前端之家 时间:2021-02-14</time> </a> </div> <div class="list_con"> <a href="/js/997317.html" title="js判断undefined和null"><div class="title">js判断undefined和null</div> <div class="summary">js判断undefined js判断null js判断null和undefined</div> <time class="summary">作者:前端之家 时间:2021-02-14</time> </a> </div> <div class="list_con"> <a href="/js/997316.html" title="将文字自动转为banner打印形式的工具"><div class="title">将文字自动转为banner打印形式的工具</div> <div class="summary">http://patorjk.com/software/taag/</div> <time class="summary">作者:前端之家 时间:2021-02-14</time> </a> </div> <div class="list_con"> <a href="/js/997315.html" title="聊一聊 bootstrap 的轮播图插件"><div class="title">聊一聊 bootstrap 的轮播图插件</div> <div class="summary">今天做工作的时候,轻车熟路的做完,又用到了bootstrap的轮播图,觉得有必要安利一下这个插...</div> <time class="summary">作者:前端之家 时间:2021-02-14</time> </a> </div> <div class="list_con"> <a href="/js/997314.html" title="js实现图片无缝循环跑马灯"><div class="title">js实现图片无缝循环跑马灯</div> <div class="summary">html 代码 css js代码 function mylsRunHorseLight() { if (mylsTimer != null) { clearIn...</div> <time class="summary">作者:前端之家 时间:2021-02-14</time> </a> </div> <div style="border-bottom: 1px solid #f4f4f4;margin-top:20px;"> <ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-fr-2o+fp-dx-wx" data-ad-client="ca-pub-4605373693034661" data-ad-slot="4561116489"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div></div> </div> </div> </div> <!-- left end--> <!-- right --> <div class="col-sm-12 col-md-12 col-lg-3"> <!-- row --> <div class="row row-sm"> <div class="col-sm-12 col-md-12 col-lg-12"> <div class="card"> <label class="main-content-label ">编程分类</label> <div class="cate mt-20"><a href="/html/" title="HTML">HTML</a><a href="/html5/" title="HTML5">HTML5</a><a href="/js/" title="JavaScript">JavaScript</a><a href="/css/" title="CSS">CSS</a><a href="/jquery/" title="jQuery">jQuery</a><a href="/bootstrap/" title="Bootstrap">Bootstrap</a><a href="/angularjs/" title="Angularjs">Angularjs</a><a href="/typescript/" title="TypeScript">TypeScript</a><a href="/vue/" title="Vue">Vue</a><a href="/dojo/" title="Dojo">Dojo</a><a href="/json/" title="Json">Json</a><a href="/electron/" title="Electron">Electron</a><a href="/nodejs/" title="Node.js">Node.js</a><a href="/extjs/" title="extjs">extjs</a><a href="/express/" title="Express ">Express </a><a href="/xml/" title="XML">XML</a><a href="/es6/" title="ES6">ES6</a><a href="/ajax/" title="Ajax">Ajax</a><a href="/flash/" title="Flash">Flash</a><a href="/unity/" title="Unity">Unity</a><a href="/react/" title="React">React</a><a href="/flex/" title="Flex">Flex</a><a href="/antdesign/" title="Ant Design">Ant Design</a><a href="/webfrontend/" title="Web前端">Web前端</a><a href="/weapp/" title="微信小程序">微信小程序</a><a href="/wxmp/" title="微信公众号">微信公众号</a><div class="clearfix"></div> </div> </div> </div> </div> <!-- row end --> <!-- row --> <div class="row row-sm"> <div class="col-sm-12 col-md-12 col-lg-12"> <div class="card"> <!-- f2er-rightads --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-4605373693034661" data-ad-slot="7756441254" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> <!-- row end --> <!-- row --> <div class="row row-sm"> <div class="col-sm-12 col-md-12 col-lg-12"> <div class="card"> <label class="main-content-label ">最新文章</label> <ul class="n-list"><li><a href="/js/997747.html" title="Javascript中的事件冒泡与捕获" target="_blank">• Javascript中的事件冒泡与</a></li> <li><a href="/js/997746.html" title="搞懂js中小数运算精度问题原因及解决办法" target="_blank">• 搞懂js中小数运算精度问题</a></li> <li><a href="/js/997744.html" title="搞懂:前端跨域问题JS解决跨域问题VUE代理解决跨域问题原理" target="_blank">• 搞懂:前端跨域问题JS解决</a></li> <li><a href="/js/997743.html" title="前端对base64编码的理解,原生js实现字符base64编码" target="_blank">• 前端对base64编码的理解,</a></li> <li><a href="/js/997742.html" title="搞懂:MVVM模型以及VUE中的数据绑定数据劫持发布订阅模式" target="_blank">• 搞懂:MVVM模型以及VUE中的</a></li> <li><a href="/js/997493.html" title="js实现横向跑马灯效果" target="_blank">• js实现横向跑马灯效果</a></li> <li><a href="/js/997318.html" title="js判断浏览器是否支持webGL" target="_blank">• js判断浏览器是否支持webG</a></li> <li><a href="/js/997317.html" title="js判断undefined和null" target="_blank">• js判断undefined和null</a></li> <li><a href="/js/997316.html" title="将文字自动转为banner打印形式的工具" target="_blank">• 将文字自动转为banner打印</a></li> <li><a href="/js/997315.html" title="聊一聊 bootstrap 的轮播图插件" target="_blank">• 聊一聊 bootstrap 的轮播图</a></li> </ul> </div> </div> </div> <!-- row end --> <!-- row --> <div class="row row-sm"> <div class="col-sm-12 col-md-12 col-lg-12"> <div class="card"> <label class="main-content-label ">热门标签 <span class="pull-right tx-12"> <a href="/all" target="_blank">更多 ►</a></span> </label> <div class="topcard-tags"><a href="/tag/guanbiyangao/" title="关闭广告" target="_blank">关闭广告</a><a href="/tag/danduheaders/" title="单独headers" target="_blank">单独headers</a><a href="/tag/fengzhuangdaima/" title="封装代码" target="_blank">封装代码</a><a href="/tag/tishicuowu/" title="提示错误" target="_blank">提示错误</a><a href="/tag/zhengshuzhengze/" title="整数正则" target="_blank">整数正则</a><a href="/tag/fei0kaitou/" title="非0开头" target="_blank">非0开头</a><a href="/tag/tiaoye/" title="跳页" target="_blank">跳页</a><a href="/tag/chuyema/" title="出页码" target="_blank">出页码</a><a href="/tag/antdtable/" title="antd table" target="_blank">antd table</a><a href="/tag/tishiURLweizhuce/" title="提示URL未注册" target="_blank">提示URL未注册</a><a href="/tag/gongzhonghaozhifu/" title="公众号支付" target="_blank">公众号支付</a><a href="/tag/vuehashmoshi/" title="vue hash模式" target="_blank">vue hash模式</a><a href="/tag/iSlider/" title="iSlider" target="_blank">iSlider</a><a href="/tag/chepaijianpan/" title="车牌键盘" target="_blank">车牌键盘</a><a href="/tag/xunhuantupian/" title="循环图片" target="_blank">循环图片</a><a href="/tag/echartsshuangzhexian/" title="echarts 双折线" target="_blank">echarts 双折</a><a href="/tag/zuoyoubuju/" title="左右布局" target="_blank">左右布局</a><a href="/tag/DllPlugin/" title="DllPlugin" target="_blank">DllPlugin</a><a href="/tag/duixiangchuangjian/" title="对象创建" target="_blank">对象创建</a><a href="/tag/daziyouxi/" title="打字游戏" target="_blank">打字游戏</a><a href="/tag/quanxuan/" title="圈选" target="_blank">圈选</a><a href="/tag/lianglan/" title="两栏" target="_blank">两栏</a><a href="/tag/yunhanshu/" title="云函数" target="_blank">云函数</a><a href="/tag/mengban/" title="蒙版" target="_blank">蒙版</a><a href="/tag/ES2020/" title="ES2020" target="_blank">ES2020</a><a href="/tag/chuchuang/" title="橱窗" target="_blank">橱窗</a><a href="/tag/wufenggundonglunbo/" title="无缝滚动轮播" target="_blank">无缝滚动轮播</a><a href="/tag/sekuaipengzhuang/" title="色块碰撞" target="_blank">色块碰撞</a><a href="/tag/zujianxiaohui/" title="组件销毁" target="_blank">组件销毁</a><a href="/tag/wendangcaozuo/" title="文档操作" target="_blank">文档操作</a></div> </div> </div> </div> <!-- row end --> <!-- row --> <div class="row row-sm"> <div class="col-sm-12 col-md-12 col-lg-12"> <div class="card"> <!-- f2er-rightads --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-4605373693034661" data-ad-slot="7756441254" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> <!-- row end --> </div> <!-- right end --> </div> </div> <footer id="footer"> <div class="container"> <div class="row hidden-xs"> <dl class="col-sm-6 site-link"> <dt>最近更新</dt><dd><a href="/win11/1005328.html" title="小米手机重装系统价格多少?专业维修服务详解" target="_blank">· 小米手机重装系统价格多少?专业维修服务详解</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005327.html" title="手把手教你重装电脑系统,让你的电脑焕然一新!" target="_blank">· 手把手教你重装电脑系统,让你的电脑焕然一新!</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005326.html" title="教你一步步重装XP系统,让你的电脑重获新生" target="_blank">· 教你一步步重装XP系统,让你的电脑重获新生</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005325.html" title="从备份到上网:一步步教你重装电脑系统" target="_blank">· 从备份到上网:一步步教你重装电脑系统</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005324.html" title="Sony笔记本电脑一键重装系统详细图文教程" target="_blank">· Sony笔记本电脑一键重装系统详细图文教程</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005323.html" title="Lenovo笔记本重装系统超详细教程,小白也能轻松上手" target="_blank">· Lenovo笔记本重装系统超详细教程,小白也能轻松...</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005322.html" title="联想笔记本一键重装Win10系统详细教程" target="_blank">· 联想笔记本一键重装Win10系统详细教程</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005321.html" title="电脑系统故障无需愁,专业维修店帮你重装旧貌换新颜" target="_blank">· 电脑系统故障无需愁,专业维修店帮你重装旧貌换新...</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005320.html" title="联想笔记本一键重装Win10系统图文教程,小白也能轻松搞定!" target="_blank">· 联想笔记本一键重装Win10系统图文教程,小白也能...</a><span class="text-muted pull-right">02-05</span></dd> <dd><a href="/win11/1005319.html" title="笔记本重装系统图文教程:从光盘启动一步到位" target="_blank">· 笔记本重装系统图文教程:从光盘启动一步到位</a><span class="text-muted pull-right">02-05</span></dd> </dl> <dl class="col-sm-4 site-link"> <dt>好站推荐</dt><dd> <a href="https://www.runoob.com" title="菜鸟教程(www.runoob.com)提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程。" target="_blank">菜鸟教程</a></dd><dd> <a href="https://www.jb51.cc" title="编程之家(www.jb51.cc)是成立于2017年面向全球中文开发者的技术内容分享平台。提供编程导航、编程问答、编程博文、编程百科、编程教程、编程工具、编程实例等开发者最需要的编程技术内容与开发工具支持,与你一起学习编程,相信编程改变未来!" target="_blank">编程之家</a></dd><dd> <a href="" title="前端之家 f2er.com 前端开发人员所需学习知识手册。" target="_blank">前端之家</a></dd></dl> <dl class="col-sm-2 site-link"> <dt>商务合作</dt> <dd><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=76874919&site=qq&menu=yes">联系我们</a></dd> </dl> </div> <div class="copyright"> Copyright © 2019 前端之家. 当前版本 V7.0.16<br> <span class="ml5">前端之家 版权所有 <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">闽ICP备13020303号-10</a></span> </div> </div> </footer> <script type="text/javascript" src="/js/base.js"></script> </body> </html>