如何改造現有檔案為 CMD 模組

2021-07-26 09:31:01 字數 1361 閱讀 7126

參考cmd官方文件:

這裡指的是 jquery、moment、backbone、underscore 等業界主流模組,這些模組一般都有對 amd 和 commonjs 的支援**,例如 jquery 原始檔的最後幾行:

if ( typeof

module === "object" && module && typeof

module.exports === "object" ) else );

}}

還有 backbone 裡:

var backbone;

if (typeof

exports !== 'undefined') else ;

}

對於有這些相容**的,只需要去掉 define.amd 的支援,或是直接包裝上 define 就可以了。

define(function(require, exports, module) );
如果沒有模組化的相容**,有時候需要手動引入依賴,以及暴露對應的介面。

define(function(require, exports, module) );
對於一些現有的普通 js 檔案,相對簡單的多,參考 cmd 的書寫規範,把那些暴露到全域性命名空間的介面用 cmd 的方式進行改造就可以了。

比如現有檔案 util.js 。

window.util = window.util || {};

util.addclass = function

() ;

util.querystring = function

() {};

改為

define(function

(require, exports, module) ;

util.querystring = function

() {};

// 暴露對應介面

module.exports = util;

});

// jquery-plugin-abc

define(function

(require, exports, module) ;

});

這樣的改造方式實際上是強化了原有的$物件(而不是重新包裝出乙個新的$),在實際呼叫時,可以用下面的方式:

seajs.use(['$', 'jquery-plugin-abc'], function

($) );

如何改造現有檔案為 CMD 模組

經過一段考察,我們終於要在專案中引入模組機制和 sea.js 了,那麼如何將現有的檔案改造成 cmd 模組就成了重要的問題。下面針對一些典型場景來說明包裝的方式。首先還是請大家詳細了解下 cmd 模組定義規範,只要洞悉事物的定義和本質,一切問題可迎刃而解。這裡指的是 jquery moment ba...

Python如何使用OS模組呼叫cmd

在os模組中提供了兩種呼叫 cmd 的方法,os.popen 和 os.system os.system cmd 是在執行command命令時需要開啟乙個終端,並且無法儲存command命令的執行結果。os.popen cmd,mode 開啟乙個與command程序之間的管道。返回值是乙個檔案物件,...

中cmd 如何理解CMD檔案中的ALIGN?

在dsp開發過程中,經常要對cmd檔案進行編寫,兩條指令memory和sections的基本用法,想必大家都知道。但是,在sections指令中,經常會碰到如下表達 上圖中的某些資料段,在指定了儲存器和資料空間後,還跟了align 512 這個申明有什麼作用?先從網路查一下align的意思 alig...