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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:15:58
字體:
來源:轉載
供稿:網友

描述

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

實現原理

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 根據不同的頁面去初始化不同的頁面信息

/** * 1、所有頁面使用公共的require配置 * 2、根據current-page去加載相應地模塊,不需要的模塊不要去加載 * 3、每個模塊都要按約定去對外暴露一個init的初始化方法,用于頁面信息加載時間監聽 *  */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) {      // 頁面加載完畢后再執行相關業務代碼比較穩妥      $(function () {        require([targetModule], function (targetModule) {          // 不要在這里寫業務代碼          //全部統一調用init方法          //也就是每個模塊都暴露一個init方法用于事件監聽,頁面內容加載等          targetModule.init(currentPage);        });      });      return;    }  });});

3、定義模塊,實現初始化init方法進行事件監聽和頁面信息初始化

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 安阳市| 穆棱市| 嘉峪关市| 炉霍县| 昌乐县| 荥经县| 齐齐哈尔市| 邛崃市| 岳西县| 栾城县| 西畴县| 平凉市| 铜陵市| 安溪县| 太和县| 诸暨市| 铁力市| 黑龙江省| 明光市| 灵台县| 华宁县| 舞阳县| 健康| 紫阳县| 商丘市| 西乌珠穆沁旗| 龙口市| 河源市| 怀柔区| 沙洋县| 怀化市| 康定县| 聊城市| 麻栗坡县| 安西县| 高尔夫| 潜江市| 平昌县| 海南省| 新平| 定远县|