<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        詳解require.js配置路徑的用法和css的引入

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:30:52
        文檔

        詳解require.js配置路徑的用法和css的引入

        詳解require.js配置路徑的用法和css的引入:前端開發(fā)在近一兩年發(fā)展的非常快,JavaScript作為主流的開發(fā)語(yǔ)言得到了前所未有的熱捧。大量的前端框架出現(xiàn)了,這些框架都在嘗試著解決一 些前端開發(fā)中的共性問題,但是實(shí)現(xiàn)又不盡相同。通常一般的前端加載js文件都是這樣 : <script type=te
        推薦度:
        導(dǎo)讀詳解require.js配置路徑的用法和css的引入:前端開發(fā)在近一兩年發(fā)展的非常快,JavaScript作為主流的開發(fā)語(yǔ)言得到了前所未有的熱捧。大量的前端框架出現(xiàn)了,這些框架都在嘗試著解決一 些前端開發(fā)中的共性問題,但是實(shí)現(xiàn)又不盡相同。通常一般的前端加載js文件都是這樣 : <script type=te

        前端開發(fā)在近一兩年發(fā)展的非常快,JavaScript作為主流的開發(fā)語(yǔ)言得到了前所未有的熱捧。大量的前端框架出現(xiàn)了,這些框架都在嘗試著解決一 些前端開發(fā)中的共性問題,但是實(shí)現(xiàn)又不盡相同。通常一般的前端加載js文件都是這樣 :

        <script type="text/javascript" src="js/js1.js"></script>
        <script type="text/javascript" src="js/js2.js"></script>
        <script type="text/javascript" src="js/js3.js"></script>
        <script type="text/javascript" src="js/js4.js"></script>

        但是當(dāng)一個(gè)項(xiàng)目特別大的時(shí)候  引入的js文件就特別多,這樣看起來(lái)不雅觀,并且不高效,當(dāng)js文件多而大的時(shí)候,網(wǎng)頁(yè)下載就會(huì)出現(xiàn)超時(shí),導(dǎo)致網(wǎng)站響應(yīng)超時(shí),直接500,所以一個(gè)神奇的

        js框架(js工具包)就出現(xiàn)了:require.js。

        require.js主要解決兩個(gè)問題:

        1、實(shí)現(xiàn)js的異步加載,避免js太多加載響應(yīng)時(shí)間太多導(dǎo)致網(wǎng)站超時(shí),

        2、管理模塊之間的依賴性,便于編寫與維護(hù)。

        好了步入今天的正題,寫一個(gè)require.js用法的案例,供大家參考一下:

        假設(shè)我們的項(xiàng)目有一個(gè)這樣的資源目錄:

        第一步在index.html中引入已經(jīng)下載好的require.js

        然后我們新建一個(gè)config.js來(lái)寫相應(yīng)的加在配置:

        然后打開config.js里面寫入代碼如下:

        require.config({
         baseUrl:'/data/points/',//配置基目錄
         urlArgs:'v='+(new Date()).getTime(),//清楚緩存
         paths:{
         'css': 'libs/js/css.min',
         'jquery': 'libs/js/jquery-1.11.1.min',
         'vur': 'libs/js/vue.min',
         'amazeui': 'libs/js/amazeui.min',
         'color': 'libs/js/color.min'
         },
         shim:{
         'amazeui':{
         deps: ['jquery','css!libs/css/amazeui.min','css!style/common','css!style/footer'],
         },
         'color':{
         deps:['css!libs/css/color.min']
         }
         }
        
        });
        
        

        其中加入css應(yīng)該用模塊的依賴性 也就是deps

        deps:['css!libs/css/color.min'] 這里會(huì)優(yōu)先加在css這個(gè)模塊名下的文件(libs/js/css.min.js) 然后一個(gè) "!"后面緊接著在基目錄下加在libs/css/color.min.css

        其中css.min.js這個(gè)是一個(gè)依賴模塊js,這里面是寫了一個(gè)加載css文件的方法,

        具體css.min.js

        define(
         function () {
         if (typeof window == "undefined")return {
         load: function (n, r, load) {
         load()
         }
         };
         var head = document.getElementsByTagName("head")[0];
         var engine = window.navigator.userAgent.match(/Trident\/([^ ;]*)|AppleWebKit\/([^ ;]*)|Opera\/([^ ;]*)|rv\:([^ ;]*)(.*?)Gecko\/([^ ;]*)|MSIE\s([^ ;]*)/) || 0;
         var useImportLoad = false;
         var useOnload = true;
         if (engine[1] || engine[7])useImportLoad = parseInt(engine[1]) < 6 || parseInt(engine[7]) <= 9; else if (engine[2])useOnload = false; else if (engine[4])useImportLoad = parseInt(engine[4]) < 18;
         var cssAPI = {};
         cssAPI.pluginBuilder = "./css-builder";
         var curStyle;
         var createStyle = function () {
         curStyle = document.createElement("style");
         head.appendChild(curStyle)
         };
         var importLoad = function (url, callback) {
         createStyle();
         var curSheet = curStyle.styleSheet || curStyle.sheet;
         if (curSheet && curSheet.addImport) {
         curSheet.addImport(url);
         curStyle.onload = callback
         } else {
         curStyle.textContent = '@import "' + url + '";';
         var loadInterval = setInterval(function () {
         try {
         curStyle.sheet.cssRules;
         clearInterval(loadInterval);
         callback()
         } catch (e) {
         }
         }, 10)
         }
         };
         var linkLoad = function (url, callback) {
         var link = document.createElement("link");
         link.type = "text/css";
         link.rel = "stylesheet";
         if (useOnload)link.onload = function () {
         link.onload = function () {
         };
         setTimeout(callback, 7)
         }; else var loadInterval = setInterval(function () {
         for (var i = 0; i < document.styleSheets.length; i++) {
         var sheet = document.styleSheets[i];
         if (sheet.href == link.href) {
         clearInterval(loadInterval);
         return callback()
         }
         }
         }, 10);
         link.href = url;
         head.appendChild(link)
         };
         cssAPI.normalize = function (name, normalize) {
         if (name.substr(name.length - 4, 4) == ".css")name = name.substr(0, name.length - 4);
         return normalize(name)
         };
         cssAPI.load = function (cssId, req, load, config) {
         (useImportLoad ? importLoad : linkLoad)(req.toUrl(cssId + ".css"), load)
         };
         return cssAPI
        }
        );
        
        

        現(xiàn)在好了瀏覽器打開index.html發(fā)現(xiàn)沒有把我們需要額外加在的加在進(jìn)來(lái),這個(gè)是為是么呢?好了,這里的話記得要在index.html的head下<script type="javascript/text" src="config.js"></script>后面調(diào)用require.js中的方法require,也就是加上這一句

        <script type="javascript/text' >require['color']</script>//標(biāo)識(shí)調(diào)用配置中的color模塊

        再次訪問index.html好了完美出現(xiàn)我們想要的了。

        如圖:

         

         注意

        index.html中引入的順序不能打亂

        <script type="text/javascript" src="config.js"></script>
         
        <script type="text/javascript" src="require.js"></script>
         
        <script type="text/javascript">require(['color']);</script>

        require.config()接受一個(gè)配置對(duì)象,這個(gè)對(duì)象除了有前面說(shuō)過的paths屬性之外,還有一個(gè)shim屬性,專門用來(lái)配置不兼容的模塊。具體來(lái)說(shuō),每個(gè)模塊要定義(1)exports值(輸出的變量名),表明這個(gè)模塊外部調(diào)用時(shí)的名稱;(2)deps數(shù)組,表明該模塊的依賴性。

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        詳解require.js配置路徑的用法和css的引入

        詳解require.js配置路徑的用法和css的引入:前端開發(fā)在近一兩年發(fā)展的非常快,JavaScript作為主流的開發(fā)語(yǔ)言得到了前所未有的熱捧。大量的前端框架出現(xiàn)了,這些框架都在嘗試著解決一 些前端開發(fā)中的共性問題,但是實(shí)現(xiàn)又不盡相同。通常一般的前端加載js文件都是這樣 : <script type=te
        推薦度:
        標(biāo)簽: 使用 用法 js
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 光棍天堂免费手机观看在线观看 | 成全视频在线观看免费| 国产成人免费片在线视频观看| 亚洲熟妇少妇任你躁在线观看| 特级做A爰片毛片免费69| 久久亚洲最大成人网4438| 成人免费福利视频| 亚洲18在线天美| 日本无吗免费一二区| 日本特黄特色AAA大片免费| 亚洲狠狠爱综合影院婷婷| 国产综合免费精品久久久| 亚洲av福利无码无一区二区| 久久精品一本到99热免费| 亚洲成年人免费网站| 成全视频在线观看免费高清动漫视频下载 | 在线观看免费播放av片| 亚洲视频一区在线| 免费精品人在线二线三线区别| 亚洲性无码一区二区三区| 亚洲AV无码乱码在线观看性色扶| ssswww日本免费网站片| 亚洲国产精品无码久久久不卡 | 成年女性特黄午夜视频免费看 | 亚洲综合小说久久另类区| 香蕉97超级碰碰碰免费公| 亚洲国产成人AV在线播放| 亚洲精品国产综合久久一线| 永久在线观看免费视频| 亚洲婷婷第一狠人综合精品| 亚洲福利中文字幕在线网址| 国产免费无码一区二区| 亚洲乱码在线卡一卡二卡新区 | 亚洲乱亚洲乱淫久久| 成人影片麻豆国产影片免费观看| 色噜噜噜噜亚洲第一| 亚洲成A人片在线观看WWW| 久久不见久久见免费影院| 无码毛片一区二区三区视频免费播放| 亚洲成AV人片在| 国产成人免费一区二区三区|