1. 程式人生 > >Javascript模組化開發學習筆記

Javascript模組化開發學習筆記

學習了阮一峰大神關於javascript模組化開發整理的筆記:

總結:使用require.js只需做三件事情。
1.定義模組

// math.js

  define(function (){

    var add = function (x,y){

      return x+y;

    };

    return {

      add: add
    };

  });
  //如果當前定義的模組還需要依賴其它模組,如下:
  define(['myLib'], function(myLib){

    function foo(){

      myLib.doSomething();

    }

    return
{       foo : foo     };   });

2.載入模組

// main.js

  require(['math'], function (math){

    alert(math.add(1,1));

  });

載入非規範的模組

//舉例來說,underscore和backbone這兩個庫,都沒有采用AMD規範編寫。如果要載入它們的話,必須先定義它們的特徵。
require.config({
   shim: {
     'underscore':{
           exports: '_'
        },
       'backbone'
: {      deps: ['underscore', 'jquery'],      exports: 'Backbone'    } } }); //shim屬性,專門用來配置不相容的模組。[也就是自己定義的模組]具體來說,每個模組要定義(1)exports值(輸出的變數名),表明這個模組外部呼叫時的名稱;(2)deps陣列,表明該模組的依賴性。 //比如,jQuery的外掛可以這樣定義: shim: {    'jquery.scroll': {          deps: ['jquery'],      exports: 'jQuery.fn.scroll'
   } }

3.配置檔案require.config

//path屬性指定各個模組的載入路徑(這種寫法預設主模組和這些模組在同一目錄下)
require.config({
    paths: {
      "jquery": "jquery.min",
      "underscore": "underscore.min",
      "backbone": "backbone.min"

    }

  });
//這種是直接改變基目錄baseUrl
require.config({
    baseUrl: "js/lib",
    paths: {
      "jquery": "jquery.min",
      "underscore": "underscore.min",
      "backbone": "backbone.min"

    }

  });

相關推薦

Javascript模組開發學習筆記

學習了阮一峰大神關於javascript模組化開發整理的筆記: 總結:使用require.js只需做三件事情。 1.定義模組 // math.js   define(function (){

play framework如何進行模組開發--學習筆記(借鑑同事、部落格等資料自己試驗通過!)

1.第一步:先建立一個play專案,我建立play專案時,進入的目錄是:..\playframework\samples-and-tests\,然後開始建立工作。 play new  app 2.第二步:建立一個公共模組 play new-module model 建立了

javascript 模組開發

一、為什麼會有模組化 1. 當一個專案開發的越來越複雜的時候,會遇到一些問題,比如: 命名衝突:當專案由團隊進行協作開發的時候,不同開發人員的變數和函式命名可能相同;即使是一個開發,當開發週期比較長的時候,也有可能會忘記之前使用了什麼變數,從而導致重複命名,導致命

詳解JavaScript模組開發

什麼是模組化開發? 前端開發中,起初只要在script標籤中嵌入幾十上百行程式碼就能實現一些基本的互動效果,後來js得到重視,應用也廣泛起來了,jQuery,Ajax,Node.Js,MVC,MVVM等的助力也使得前端開發得到重視,也使得前端專案越來越複雜,然而,JavaS

Javascript模組開發2——Gruntfile.js詳解

一、grunt模組簡介 grunt外掛,是一種npm環境下的自動化工具。對於需要反覆重複的任務,例如壓縮、編譯、單元測試、linting等,自動化工具可以減輕你的勞動,簡化你的工作。grunt模組根據Gruntfile.js檔案中的配置進行任務。 如果在package.json中定義如下命令: "script

node模組開發基本知識學習筆記

傳統非模組化開發缺點: 1、命名衝突 2、檔案依賴 標準的模組化規範: 1、AMD-requirejs 2、CMD-seajs 伺服器端模組化規範: 1.CommonJS-Node.js 模組化相關的規則: 1、如何定義模組:一個Js檔案就是一個模組,模組內部成員相互獨立 2、模組成員的匯出和引入 nodej

JavaScript中的模組開發

一、為什麼會有模組化 1. 當一個專案開發的越來越複雜的時候,會遇到一些問題,比如: 命名衝突:當專案由團隊進行協作開發的時候,不同開發人員的變數和函式命名可能相同;即使是一個開發,當開發週期比較長的時候,也有可能會忘記之前使用了什麼變數,從而導致重複命名,導致命名衝突。

JavaScript系列之四:模組開發

模組化(切記:學習思想) 如果不用模組化編寫程式碼,那麼會具有以下問題: 程式碼雜亂無章,沒有條理性,不便於維護,不便於複用 很多程式碼重複、邏輯重複 全域性變數汙染 不方便保護私有資料(閉包) 模組化的基本實現:閉包的自呼叫函式 //

GTK+圖形應用程式開發學習筆記(三)—窗體

五、回撥函式 由於程式必須能夠對使用者的操作做出相應,在基於GUI的程式設計中訊號是必要的。移動滑鼠,按下按鈕,敲入正文或者關閉視窗,將給應用軟體的回呼函式提供訊號。訊號可能需要應用軟體來加以處理。如:字處理軟體有使字型變黑的按鈕。如果使用者按下了按鈕,就需要呼叫使字型變黑的程式。與此型別,如果使用者關閉了

GTK+圖形應用程式開發學習筆記(二)—Glib庫(1)

 在學習GTK+之前我們需要先學習一下 glib的有關知識。因為我們將會在以後的學習中遇到這些知識。由於本筆記不是專門介紹glib的,所以下面的介紹不會太詳細。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft

GTK+圖形應用程式開發學習筆記(十七)—框架構件、比例框架構件

一、框架構件 框架構件(GtkFrame)可以用於在盒子中封裝一個或一組構件,框架本身還可以有一個標籤。標籤的位置和風格可以靈活改變。 我們用gtk_frame_set_label函式建立框架構件。 1. 名稱:: gtk_frame_new 功能: 建立

GTK+圖形應用程式開發學習筆記(二十)—分欄列表構建

分欄列表構件(GtkCList)是較常用的構件,它是多列列表構件,可以非常方便的處理數千列的資訊。每一列都可以有一個標題,而且可以是活動的。你還可以將函式繫結到列選擇上。 一、建立分欄列表構件 建立GtkCList構件的方法和建立其他構件的方法是類似的。 1. 名

遊戲開發學習筆記

nor scrip 筆記 nsrunloop posit ppr 遊戲開發 tor http sdk%E6%9B%B4%E6%96%B0%E4%B8%8D%E6%88%90%E5%8A%9F%E6%B1%82%E5%A4%A7%E7%A5%9E%E5%B8%AE%E5%BF

FFmpeg基礎庫編程開發學習筆記——視頻常見格式

format 影片 bps 網上 獲取 lin 捕捉 tails 英文縮寫 聲明一下:這些關於ffmpeg的文章僅僅是用於記錄我的學習歷程和以便於以後查閱,文章中的一些文字可能是直接摘自於其它文章、書籍或者文獻,學習ffmpeg相關知識是為了使用在Android上,

AJAX(Asynchronous JavaScript and XML)學習筆記

微博 chrome 並且 .get 插件 網頁 t對象 end 觸發 基本概念: 1.AJAX不是一種新的編程語言,而是一種使用現有標準的新方法。 2.AJAX最大的優點是在不重新加載整個頁面的情況下,與服務器交換數據並更新部分網頁內容,用於創建快速動態網頁(傳統網頁如果需

監聽器-啟動會初始學習筆記

監聽器-啟動會初始化表 學習筆記:遇到問題: 數據庫連接問題;後面采用固定寫法: 解決問題 /**c3p0取得數據源*/ public static DataSource getDataSource() throws Exception { ComboPooledDataS

javascript獲取當前時間-學習筆記

javascript獲取當前時間<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> &

JavaScript 封裝插件學習筆記(一)

undefined error 精確 屬性。 根據 rip nbsp 類型 alt 此篇只是筆記,在借鑒、參考、模仿的過程,可能不完整,請多指教! 定義插件名稱要註意命名沖突,防止全局汙染。 1.第一種Javascript對象命名:(Javascript語言是“先解析,後運

spring MVC初始過程學習筆記1

load cati 過程 mage 筆記 ngx 名稱 spring -s 如果有錯誤請指正~ 1.springmvc容器和spring的關系? 1.1 spring是個容器,主要是管理bean,不需要servlet容器就可以啟動,而springMVC實現了servl

西門子PLC-1200 SCL語言開發學習筆記 (一)

選擇 創建 date times 重設 全局 實例 變量 訪問 一、簡介和背景 PLC一般使用梯形圖開發,但是梯形圖適合電工使用而不是程序員使用,對我們來說開發困難,門檻高,幸好PLC的開發標準還帶了類pascal的高級語言,在西門子這裏叫SCL語言,這對於我們程序