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

js模塊加載方式淺析

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

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

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

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

源文件:

(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 = { //默認(rèn)參數(shù)
          _coreDir: "",
          _moduleArr: [
            ['', '']
          ], //模塊數(shù)組
        },
        _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))

調(diào)用:

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

永康市| 南丹县| 新民市| 钟祥市| 汕头市| 修文县| 临江市| 长沙县| 万安县| 漳平市| 姜堰市| 闸北区| 甘泉县| 科技| 宁安市| 河曲县| 大名县| 宜兰市| 乳源| 邵武市| 抚远县| 广南县| 罗江县| 海安县| 喀喇| 吉木萨尔县| 宽甸| 武陟县| 宣恩县| 天台县| 呼图壁县| 宁城县| 乐山市| 博客| 玉溪市| 方山县| 田阳县| 达拉特旗| 同心县| 江永县| 名山县|