
相依性管理(Dependency Management)
|
93
目前 CommonJS 的模組傳輸格式仍在演進中,有很多的提案都還處於審查階段。因
此目前並沒有一套「正式版」的模組傳輸格式。現今最常被使用的兩種格式,分別是
Transport C(
http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition
)和 Transport D
(
http://wiki.commonjs.org/wiki/Modules/Transport/D
)。無論你選用的是本章稍後介紹的哪
一種包裝工具,都得要仔細確認它所用的格式是否有被你所使用的載入器支援。不過倒
也不用太擔心,很多模組載入器都會隨附可相容的包裝工具,即使沒有,通常也會在說
明文件中註明他們所支援的傳輸格式版本為何。
Yabble
Yabble(
https://github.com/jbrantly/yabble
)是一套非常好用,而且輕薄短小的模組載入
器。它提供了兩種載入模組的設定方式:XHR,以及 script 標籤。使用 XHR 載入模組
的好處,是不需要將模組包裝成傳輸格式。不過它的缺點是必須要透過
eval()
來執行,
這會讓 JavaScript 程式變得非常難以除錯。此外,使用 XHR 跨網域載入模組也會有問
題(特別是如果你有使用 CDN 的話)。一般建議最好只在私底下開發一些簡單快速的小
程式時使用 XHR,別在正式環境上使用:
<script src="https://github.com/jbrantly/yabble/raw/master/lib/yabble.js"> ...