最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用requirejs模塊化開發(fā)多頁面一個入口js的使用方式

 更新時間:2017年06月14日 10:56:27   作者:風雨后見彩虹  
這篇文章主要介紹了使用requirejs模塊化開發(fā)多頁面一個入口js的使用方式,需要的朋友可以參考下

描述

知道requirejs的都知道,每一個頁面需要進行模塊化開發(fā)都得有一個入口js文件進行模塊配置。但是現(xiàn)在就有一個很尷尬的問題,如果頁面很多的話,那么這個data-main對應的入口文件就會很多。理論這樣其實也沒什么,但是到后面用grunt進行合并壓縮就會有很多入口js,雖然這個入口js都把配置的模塊內(nèi)容都壓縮到里面了,但是各個入口合并壓縮后的文件中其實都有很多重合的代碼,所以考慮到這個就想到把所以的入口文件都統(tǒng)一了,使用一個,到時候用grunt合并壓縮也只有這么一個入口文件,也很方便。

實現(xiàn)原理

1.頁面引入requirejs 和 設置id和當前頁面信息的屬性

<script src="/res/js/require.js" data-main="/res/js/require.config" id="current-page" current-page ="news" target-module="/res/js/module/newsCtrl" defer async="true" ></script>

2、編寫require.config.js 根據(jù)不同的頁面去初始化不同的頁面信息

/** * 1、所有頁面使用公共的require配置
 * 2、根據(jù)current-page去加載相應地模塊,不需要的模塊不要去加載
 * 3、每個模塊都要按約定去對外暴露一個init的初始化方法,用于頁面信息加載時間監(jiān)聽
 * 
 */
require.config({ 
  urlArgs: "ver=1.0_" + (new Date).getTime(),   
  paths: {      
    "jquery": "/res/js/base/jquery-1.11.3.min",
    "vue":'/res/js/base/vue.min',
    "common": "/res/js/widgets/common"
  },
  shim: {
    'scroll': {      
      deps: ['jquery'],
      exports: 'jQuery.fn.scroll'    
    },
    'vue':{
      exports:'vue'
    },
    'common':['jquery']
  }
});
require(["jquery"], function ($) {
  require(["common"], function (common) {
    var currentPage = $("#current-page").attr("current-page");
    var targetModule = $("#current-page").attr("target-module");
    if (targetModule) {
      // 頁面加載完畢后再執(zhí)行相關業(yè)務代碼比較穩(wěn)妥
      $(function () {
        require([targetModule], function (targetModule) {
          // 不要在這里寫業(yè)務代碼
          //全部統(tǒng)一調(diào)用init方法
          //也就是每個模塊都暴露一個init方法用于事件監(jiān)聽,頁面內(nèi)容加載等
          targetModule.init(currentPage);
        });
      });
      return;
    }
  });
});

3、定義模塊,實現(xiàn)初始化init方法進行事件監(jiān)聽和頁面信息初始化

define(['jquery', "common"], function ($, common) {    
  var newCtrl = {};
  newCtrl.init = function (page) {
    common.info("開始初始化頁面信息");
  };
  newCtrl.login = function () {};
  return newCtrl;
});

以上所述是小編給大家介紹的使用requirejs模塊化開發(fā)多頁面一個入口js的使用方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

最新評論

中西区| 鹿邑县| 新竹县| 那曲县| 达拉特旗| 孟州市| 怀化市| 万宁市| 汝城县| 上饶县| 新宁县| 邛崃市| 新乡市| 靖安县| 肥西县| 平安县| 牟定县| 商水县| 北票市| 华宁县| 龙南县| 哈尔滨市| 乌兰察布市| 牟定县| 建瓯市| 苍南县| 嘉峪关市| 岐山县| 金华市| 瓮安县| 静安区| 开远市| 襄汾县| 灵川县| 泽州县| 卢氏县| 斗六市| 青川县| 卓资县| 应城市| 思茅市|