萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> javascript中Require調用js的實例

javascript中Require調用js的實例

 無組織的函數們

在我最初開始寫 JavaScript 函數時,通常是這樣的:

 代碼如下

function fun1() {
  // some code here
}
function fun2() {
  // some other code here
}
...

函數全寫在全局環境中,項目很小時,通常不會有什麼沖突問題。

但代碼多了後,漸漸就發現,函數名稱(英文詞匯)有點不夠用了。於是引入命名空間的概念,開始模塊化代碼。
命名空間下的函數

在命名空間下,我的代碼這樣寫:

 代碼如下

var com = com || {};
com.zfanw = com.zfanw || {};
com.zfanw.module1 = (function() {
  // some code here
  return {
    func1: func1,
    ...
  };
}());
com.zfanw.module2 = (function() {
  // some other code here
  return {
    func1: func1,
    ...
  };
}());
...

本著要面向對象的原則,執行函數通常我要這麼寫的:

com.zfanw.module1.func1.apply({},['arg1',arg2]);
...

當然,為了少打些字符,我還會在閉包中導入1公共 API 接口:www.45it.com

 代碼如下

(function($, mod1) {
  // some code here
  mod1.func1.apply({},['arg1',arg2]);
}(jQuery, com.zfanw.module1));
...

至此,代碼沖突的可能性已經很小,但代碼依賴的問題,多腳本文件管理、阻塞的問題,漸漸浮出水面 – 命名空間的辦法開始捉急。

於是 Require.js2 出場。
Require.js

首先了解下 require.js 裡模塊的概念3:

    A module is different from a traditional script file in that it defines a well-scoped object that avoids polluting the global namespace. It can ex

copyright © 萬盛學電腦網 all rights reserved