国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 16:20:27
字體:
供稿:網(wǎng)友

描述

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

實現(xiàn)原理

1.頁面引入requirejs 和 設(shè)置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去加載相應(yīng)地模塊,不需要的模塊不要去加載 * 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í)行相關(guān)業(yè)務(wù)代碼比較穩(wěn)妥      $(function () {        require([targetModule], function (targetModule) {          // 不要在這里寫業(yè)務(wù)代碼          //全部統(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的使用方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 景洪市| 阜宁县| 周至县| 梁山县| 沙湾县| 剑川县| 祁东县| 无极县| 和静县| 慈溪市| 闽清县| 永兴县| 临猗县| 聂荣县| 临潭县| 格尔木市| 如东县| 新化县| 若尔盖县| 金堂县| 屏山县| 揭西县| 锡林浩特市| 鄂州市| 石狮市| 华蓥市| 临潭县| 富平县| 吴桥县| 洛阳市| 洪雅县| 阿瓦提县| 陆川县| 临沭县| 确山县| 新余市| 苏尼特左旗| 开江县| 施甸县| 开江县| 习水县|