Atitit.js模塊化 atiImport 的新特性javascript import

来源:http://www.cnblogs.com/attilax/archive/2016/04/06/5360485.html
-Advertisement-
Play Games

Atitit.js模塊化 atiImport 的新特性javascript import 1. 常見的js import規範amd ,cmd ,umd1 1.1. Require更多流行3 2. atiImport3 2.1. Base url的設置4 2.2. Atiimport的使用4 2.3. ...


Atitit.js模塊化 atiImport 的新特性javascript import

 

 

1. 常見的js import規範amd ,cmd ,umd1

1.1. Require更多流行3

2. atiImport3

2.1. Base url的設置4

2.2. Atiimport的使用4

2.3. Page load事件的載入要使用windowLoad事件4

3. 參考4

 

 

1. 常見的js import規範amd ,cmd ,umd

五、AMD模塊的寫法

require.js載入的模塊,採用AMD規範。也就是說,模塊必須按照AMD的規定來寫。

 

六、載入非規範的模塊

理論上,require.js載入的模塊,必須是按照AMD規範、用define()函數定義的模塊。但是實際上,雖然已經有一部分流行的函數庫(比如jQuery)符合AMD規範,更多的庫並不符合。那麼,require.js是否能夠載入非規範的模塊呢?

回答是可以的。

 

作者::  ★(attilax)>>>   綽號:老哇的爪子  全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊  漢字名:艾龍,  EMAIL:[email protected]

轉載請註明來源: http://www.cnblogs.com/attilax/

 

這樣的模塊在用require()載入之前,要先用require.config()方法,定義它們的一些特征。

舉例來說,underscore和backbone這兩個庫,都沒有採用AMD規範編寫。如果要載入它們的話,必須先定義它們的特征。

  require.config({

    shim: {

      'underscore':{
        exports: '_'
      },

      'backbone': {
        deps: ['underscore', 'jquery'],
        exports: 'Backbone'
      }

    }

  });

require.config()接受一個配置對象,這個對象除了有前面說過的paths屬性之外,還有一個shim屬性,專門用來配置不相容的模塊。具體來說,每個模塊要定義(1)exports值(輸出的變數名),表明這個模塊外部調用時的名稱;(2)deps數組,表明該模塊的依賴性。

 

1.1. Require更多流行

 

 

2. atiImport

Attilax總結...麻煩的..require載入要改寫原js文件格式,麻煩。

 

還是,使用import 機制容易的...

 

原理如下:::

動態insert script標簽走ok..

 

// JavaScript Document

var ImportMap={};

 

function importx(jsSrc)

{

if(ImportMap[jsSrc])

return;

ImportMap[jsSrc]=1;

 var oHead = document.getElementsByTagName('HEAD').item(0);

 

    var oScript= document.createElement("script");

 

    oScript.type = "text/javascript";

 

    oScript.src=import_base+jsSrc;

 

    oHead.appendChild( oScript);

}

 

 

2.1. Base url的設置

  <script>

 

var apiurl="/wrmiServlet";

var import_base="../";

$ex_show_err_str=true;

    </script>

 

<script type="text/javascript" src="../com.attilax/core/import.js"></script>

 

2.2. Atiimport的使用

importx("com.attilax/dataService/dataServiceV2q329.js");

importx("com.attilax/web/req.js");

importx("com.attilax/web/dslUtil.js");

importx("com.attilax/core/jqUtil.js");

importx("com.attilax/core/ex.js");

importx("com.attilax/core/core.js");

importx("com.attilax/text/str.js");

importx("com.attilax/web/urlUtil.js");

importx("com.attilax/ui/Table.js");

 

2.3. Page load事件的載入要使用windowLoad事件

最好不個 defer   jq  load都加上,確保js載入完成

3. 參考

 

Javascript模塊化編程(三):require.js的用法 - 阮一峰的網路日誌.html

動態載入JS腳本的4種方法 - JavaScript - web - ITeye論壇.html

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 正在學習中,如果有錯,還請多多指教,根據不斷的理解,會進行更改,更改之前的樣子都會保留下來,記錄錯誤是最大的進步,嗯嗯! 具有次配置力的SGI空間配置器(SGI是STL的一種版本,也有其他的版本) 這裡我就不貼出來具體成員和介面的實現了,網上可以搜到STL的源碼 C++中,new一個變數可以分為兩個 ...
  • 《基於Dubbo的分散式系統架構視頻教程》包含基礎篇、高級篇、高可用架構篇,教程以第三方支付項目的系統架構實戰經驗為背景,最終形成一套分散式系統架構解決方案。是你學習和瞭解現今最流行的“微服務”架構的好教程。教程中涵蓋的技術點包括 Dubbo分散式服務、ZooKeeper註冊中心、Redis3.0分 ...
  • 依賴倒置是軟體設計的原則,實際上是面向介面編程,是OOD設計精髓之一,其原理就是高層模塊不要依賴低層模塊,而要依賴抽象或者介面,抽象不要依賴於細節,該設計原則對並行編程和TDD(測試驅動開發)有非常大的幫助,其中依賴註入設計模式就是充分體現了依賴倒置的原則. 首先依賴註入基本上有三種方式: 1、首先 ...
  • 微信一直用著不爽,這幾天研究它的jsapi支付,即在微信內打開H5頁面,完成支付的過程,在這個過程中,你將會遇到各種各樣的問題,而大叔將把這些問題的解決方法寫一下,希望可以給你帶來幫助! 一 網頁授權的功能變數名稱需要設置 註意:我們設置的功能變數名稱為當前功能變數名稱,而不是一級功能變數名稱,如www.api.com,你不能設置 ...
  • 上一篇文章介紹了VMWare12虛擬機、Linux(CentOS7)系統安裝、部署Nginx1.6.3代理服務做負載均衡。接下來介紹通過Nginx將請求分發到各web應用處理服務。 一、Web應用開發 1、asp.net mvc5開發 (1)新建一個MVC5工程,新建一個Controller,在In ...
  • Atitit..css的體繫結構 1. Oocss 與 bem標準化1 1.1. 四種樣式表及六種選擇器1 1.2. 常用的css框架 amazeui bootstrap1 1.3. Css圖標1 1.4. Css的操作api1 1.5. Css ide ::2 1. Oocss 與 bem標準化 ...
  • Atitit.判斷元素是否顯示隱藏在父元素 overflow 1.1. scrollTop 指的是元素的滾動條頂端距離原生基線的高度...1 1.2. 判斷元素是否顯示隱藏在父元素 $(next).position().top》》curBaseTop= $(".listBlock_main").sc ...
  • AMD是RequireJS在推廣過程中對模塊定義的規範化產出。 非同步載入模塊,依賴前置,提前執行。 Define定義模塊 define([‘require’,’foo’],function(){return}); Require載入模塊(依賴前置) require([‘foo’,’bar’],fun... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...