模塊系統(tǒng)

2018-11-06 18:14 更新

什么是系統(tǒng)

在生活和工作中,我們會(huì)接觸到大量系統(tǒng):自然界生態(tài)系統(tǒng)、計(jì)算機(jī)操作系統(tǒng)、軟件辦公系統(tǒng),還有教育系統(tǒng)、金融系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、理論系統(tǒng)等等。究竟什么是系統(tǒng)呢?

來(lái)看下維基百科的解釋?zhuān)?/p>

系統(tǒng)泛指由一群有關(guān)連的個(gè)體組成,根據(jù)預(yù)先編排好的規(guī)則工作,能完成個(gè)別元件不能單獨(dú)完成的工作的群體。系統(tǒng)分為自然系統(tǒng)與人為系統(tǒng)兩大類(lèi)。

簡(jiǎn)言之,系統(tǒng)有兩個(gè)基本特性:

  1. 系統(tǒng)由個(gè)體組成。

  2. 個(gè)體之間有關(guān)連,按照規(guī)則協(xié)同完成任務(wù)。

系統(tǒng)中的個(gè)體可稱(chēng)之為系統(tǒng)成員,這樣,要構(gòu)建一個(gè)系統(tǒng),最基本層面需要做兩件事:

  1. 定義系統(tǒng)成員:確定成員是什么。

  2. 約定系統(tǒng)通訊:確定成員之間如何交互,遵循的規(guī)則是什么。

只要把這兩個(gè)問(wèn)題描述清楚,我們就可以構(gòu)建出系統(tǒng)。

模塊系統(tǒng)

Sea.js 是一個(gè)適用于 Web 瀏覽器端的模塊加載器。在 Sea.js 里,一切皆是模塊,所有模塊協(xié)同構(gòu)建成模塊系統(tǒng)。Sea.js 首要要解決的是模塊系統(tǒng)的基本問(wèn)題:

  1. 模塊是什么?

  2. 模塊之間如何交互?

在前端開(kāi)發(fā)領(lǐng)域,一個(gè)模塊,可以是JS 模塊,也可以是 CSS 模塊,或是 Template 等模塊。在 Sea.js 里,我們專(zhuān)注于 JS 模塊(其他類(lèi)型的模塊可以轉(zhuǎn)換為 JS 模塊):

  1. 模塊是一段 JavaScript 代碼,具有統(tǒng)一的基本書(shū)寫(xiě)格式。

  2. 模塊之間通過(guò)基本交互規(guī)則,能彼此引用,協(xié)同工作。

把上面兩點(diǎn)中提及的基本書(shū)寫(xiě)格式和基本交互規(guī)則描述清楚,就能構(gòu)建出一個(gè)模塊系統(tǒng)。對(duì)書(shū)寫(xiě)格式和交互規(guī)則的詳細(xì)描述,就是模塊定義規(guī)范(Module Definition Specification)。比如 CommonJS 社區(qū)的 Modules 1.1.1 規(guī)范,以及 NodeJS 的 Modules 規(guī)范,還有 RequireJS 提出的 AMD 規(guī)范等等。

Sea.js 遵循的是 CMD 規(guī)范,會(huì)在接下來(lái)的文檔中詳細(xì)闡述。

延伸閱讀


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)