模組化程式設計理解

2021-07-22 11:43:48 字數 1195 閱讀 2635

工作中在做客戶運營系統時,發現js和css的引用還處於最原始的狀態沒有更新。在上乙個專案中通過物件和其中的方法實現了簡單的模組化程式設計。但隨著工程專案的龐大程度增加,簡單的物件已經滿足不了模組化程式設計的需求了,所以接觸了requirejs,了解了amd程式設計規範。

和amd對應的是cmd,在nodejs裡面的依賴是基於cmd,同步載入要依賴的檔案。而在瀏覽器中,如果同步載入需要依賴的檔案會導致阻塞,造成瀏覽器假死,所以需要進行非同步依賴。amd-asychronous module loader,支援這個規範的乙個庫是requirejs,可以用於優化**。

從小了說,在做幾個簡單頁面構成的小應用程式時,呼叫乙個js,用不同的物件把各個方法封裝起來,也是模組化的一種實現。但這更偏向業務層,涉及到其他其他第三方控制項時,就會變得不好管理。

在應用中引用requirejs進行開發

建立乙個應用程式,moduletest,工程的目錄如下

|---index.html

|---lib

|-------require.js

|----|---modules

|----|------|------math.js

在index.html中新增requirejs

data-main指出了入口js,類似於c++中的main函式。可以忽略js字尾。

data-main所在的目錄是baseurl,所有的require裡面的路徑都是相對於它的相對路徑,當然也可以在require.config裡面指定baseurl,這樣path就是以指定的baseurl為準了。

在math中寫入以下**:

define(,function

(); return

});

具體的函式實現寫在define函式中,第乙個引數是需要引用的模組,為賦新詞強說愁,引用了jquery,然後實現了add函式,return的結果是乙個物件,裡面包含需要返回的方法。

require.config(

});

因為要用到公用的已經存放在cdn上比較穩定的jquery版本,所以在這裡指定了jquery的路徑。

require(['jquery','lib/modules/math'],function

($,math));

});});

模組化程式設計

將乙個5元素陣列,右移n位,n從鍵盤輸入,首尾相接 例如 陣列中的元素為 那麼 n 3 的結果如下 資料是向右邊移三位,那麼,我轉化成先移一位的情況。因為當移一位的問題解決了,移動n位只需要將此過程迴圈n次即可 1.把a 1 放到臨時空間t t a 1 2.依次把前面元素的值放到後面的空間裡面.從後...

理解JS 模組化

module.exports與exports,export與export default之間的關係和區別 js 模組化規範 最早是閉包的寫法,防止變數的汙染 多個js 用 defer 和 async amd 和 cmd 在es6 module 出現之後就退出歷史的舞台了 es6 module 瀏覽器...

C語言模組化程式設計概念理解

模組即乙個 c 檔案和乙個 h 檔案的結合,h 標頭檔案是對該模組介面的宣告。某模組提供給其他模組呼叫的外部函式及資料需在 h 檔案中冠以 extern 關鍵字宣告。模組內的函式和全域性變數需在 c 檔案頭冠以 static 關鍵字宣告。永遠不要再 h 檔案中定義變數。定義變數和宣告變數的區別在於定...