欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js模塊加載方式淺析

 更新時間:2017年08月12日 14:15:15   作者:深海里的一條魚  
這篇文章主要為大家詳細介紹了js模塊加載方式的初級學習資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

簡介: 前端模塊化開發(fā)日漸鼎盛,如何將零散的插件或者是普通的js腳本文件統(tǒng)一管理及引用,是眾多開發(fā)者共同的目標。本人是從事.net開發(fā)的,最近對前端的一些東西特別的感興趣,也會嘗試的夾雜一點自己的想法,寫一些小東西。東西不牛逼,但是感覺用起來還是方便那么一點的。

下面就展示一下簡短的小代碼。

中心思想:通過外部調用事先封裝好的模塊加載方法,傳入參數(包括主目錄及模塊js或者css的目錄 ),在程序運行的同時,會動態(tài)的將相應的css或者是js代碼追加引用到head標簽內,這樣,就可以使用被引用的文件的樣式或者方法啦。

源文件:

(function(req) {
  window._Req= req;
})((function($) {
  var _factory = function() {}; //模塊工廠
  //docker
  _factory.prototype = {
    _origin: location.origin || location.protocol + "http://" + location.host,//域名地址
    _aim: null,
    _config: function(param) {
      var _default = { //默認參數
          _coreDir: "",
          _moduleArr: [
            ['', '']
          ], //模塊數組
        },
        _opt = {};
      $.extend(_opt, _default);
      if (typeof param === 'object')
        $.extend(_opt, param);
      this._aim = _opt;
      this._load();  //加載模塊
    },
    _load: function() {
      try {
        var _modules = this._aim._moduleArr,
          _core = this._aim._coreDir;
        _modules.forEach(function(_element) {
          _element.forEach(function(_ele) {
            var _index = _ele.lastIndexOf('.'), 
              _moduleType = _ele.substring(_index + 1), 
              _moduleDir = _core + '/' + _ele, 
              _module = null;
            switch (_moduleType) {
              case 'js':
                _module = document.createElement('script');
                _module.src = _moduleDir;
                break;
              case 'css':
                _module = document.createElement('link');
                _module.href = _moduleDir;
                _module.rel = 'stylesheet';
                break;
              default:
                console.error("對不起模塊類型不匹配");
                break;
            }
            document.head.appendChild(_module); 
          });
        }, this);
      } catch (ex) {
        throw ex;
      }
    }
  };
  return new _factory(); //返回工廠
})(jQuery))

調用:

_Req._config({
    _coreDir: "../jq-package",
          _moduleArr: [
            ['js/ui-dialog.js', 'css/dialog.css']
          ], //模塊數組
 });

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 用倒置濾鏡把div倒置,再把table倒置。

    用倒置濾鏡把div倒置,再把table倒置。

    用倒置濾鏡把div倒置,再把table倒置。...
    2007-07-07
  • JavaScript reduce方法使用方法介紹

    JavaScript reduce方法使用方法介紹

    Reduce是個純函數,即只要傳入相同的參數,每次都應返回相同的結果。不要把和處理數據無關的代碼放在Reduce里,讓Reduce保持純凈,只是單純地執(zhí)行計算,這篇文章主要介紹了Redux拆分reduce函數流程
    2022-10-10
  • JavaScript delete 屬性的使用

    JavaScript delete 屬性的使用

    JavaScript對象數據結構基本形式:{ key : value},其中key:value就為對象的一個屬性,key作為屬性名稱,value為屬性值,這值可以是任何JavaScript數據類型。
    2009-10-10
  • 利用js定義一個導航條菜單

    利用js定義一個導航條菜單

    本文主要介紹了利用js定義一個導航條菜單的方法。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • JS常見問題之為什么點擊彈出的i總是最后一個

    JS常見問題之為什么點擊彈出的i總是最后一個

    最近有很多朋友問我,為什么點擊彈出的i總是最后一個,于是抽時間寫了這篇文章,特此分享到腳本之家平臺,供大家參考
    2016-01-01
  • 支付寶小程序自定義彈窗dialog插件的實現代碼

    支付寶小程序自定義彈窗dialog插件的實現代碼

    支付寶小程序官方提供的alert提示框、dialog對話框、model彈窗功能比較有限,有些都不能隨意自定義修改的。這篇文章主要介紹了支付寶小程序自定義彈窗dialog插件的實現代碼,需要的朋友可以參考下
    2018-11-11
  • 淺談js常用內置方法和對象

    淺談js常用內置方法和對象

    下面小編就為大家?guī)硪黄獪\談js常用內置方法和對象。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • js實現超酷的照片墻展示效果圖附源碼下載

    js實現超酷的照片墻展示效果圖附源碼下載

    這篇文章主要介紹了超酷的照片墻展示效果圖附源碼下載的相關資料,需要的朋友可以參考下
    2015-10-10
  • javascript獲取時間戳的5種方法詳解

    javascript獲取時間戳的5種方法詳解

    這篇文章主要介紹了javascript獲取時間戳的5種方法詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 移動端效果之IndexList詳解

    移動端效果之IndexList詳解

    這篇文章主要為大家詳細介紹了移動端效果之IndexList,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評論