亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

描述

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

實(shí)現(xiàn)原理

1.頁面引入requirejs 和 設(shè)置id和當(dāng)前頁面信息的屬性

<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、每個(gè)模塊都要按約定去對外暴露一個(gè)init的初始化方法,用于頁面信息加載時(shí)間監(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方法
          //也就是每個(gè)模塊都暴露一個(gè)init方法用于事件監(jiān)聽,頁面內(nèi)容加載等
          targetModule.init(currentPage);
        });
      });
      return;
    }
  });
});

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

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

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

相關(guān)文章

  • Bootstrap列表組學(xué)習(xí)使用

    Bootstrap列表組學(xué)習(xí)使用

    這篇文章主要為大家詳細(xì)介紹了Bootstrap列表組的學(xué)習(xí)使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • JavaScript ES 模塊的使用

    JavaScript ES 模塊的使用

    這篇文章主要介紹了JavaScript ES 模塊的使用,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2020-11-11
  • javascript正則表達(dá)式之search()用法實(shí)例

    javascript正則表達(dá)式之search()用法實(shí)例

    這篇文章主要介紹了javascript正則表達(dá)式之search()用法,實(shí)例分析了search()的使用技巧,需要的朋友可以參考下
    2015-01-01
  • JS如何定義用字符串拼接的變量

    JS如何定義用字符串拼接的變量

    這篇文章主要介紹了JS如何定義用字符串拼接的變量,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • JS幻想 讀取二進(jìn)制文件

    JS幻想 讀取二進(jìn)制文件

    如果說讓JavaScript讀取站點(diǎn)上一文本文件,那不過是個(gè)再簡單不了的事了;但若說要換成一個(gè)二進(jìn)制的文件,并且是完全靜態(tài)的讀取,那似乎有點(diǎn)天方夜譚了。
    2009-04-04
  • 用javascript實(shí)現(xiàn)畫板的代碼

    用javascript實(shí)現(xiàn)畫板的代碼

    用javascript實(shí)現(xiàn)畫板的代碼...
    2007-09-09
  • 原生JS實(shí)現(xiàn)加載進(jìn)度條

    原生JS實(shí)現(xiàn)加載進(jìn)度條

    這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)加載進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 理解JavaScript的prototype屬性

    理解JavaScript的prototype屬性

    JavaScript可以說是最讓人初學(xué)者難以理解的單一屬性。我看了一些資料后,開始明白其實(shí)這些困難很大程度來自prototype這個(gè)名字本身的二義性
    2012-02-02
  • 原生js實(shí)現(xiàn)隨機(jī)點(diǎn)餐效果

    原生js實(shí)現(xiàn)隨機(jī)點(diǎn)餐效果

    一款十分簡單的原生js實(shí)現(xiàn)的隨機(jī)點(diǎn)菜代碼,點(diǎn)擊點(diǎn)菜按鈕隨機(jī)點(diǎn)取上面菜單的菜品,可根據(jù)需求改成自己需要功能,比如說隨機(jī)點(diǎn)名。感興趣的朋友來參考實(shí)現(xiàn)代碼吧
    2019-12-12
  • BootstrapValidator不觸發(fā)校驗(yàn)的實(shí)現(xiàn)代碼

    BootstrapValidator不觸發(fā)校驗(yàn)的實(shí)現(xiàn)代碼

    BootstrapValidator是基于bootstrap3的jquery表單驗(yàn)證插件,是最適合bootstrap框架的表單驗(yàn)證插件,本文給大家介紹BootstrapValidator不觸發(fā)校驗(yàn)的實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧
    2016-09-09

最新評論