參考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...