Ò»¡¢CommonJSµÄÄ£¿é¹æ·¶

NodeÓëä¯ÀÀÆ÷ÒÔ¼° W3C×éÖ¯¡¢CommonJS×éÖ¯¡¢ECMAScriptÖ®¼äµÄ¹ØÏµ
Node½è¼øCommonJSµÄModules¹æ·¶ÊµÏÖÁËÒ»Ì×Ä£¿éϵͳ£¬ËùÒÔÏÈÀ´¿´¿´CommonJSµÄÄ£¿é¹æ·¶¡£
CommonJS¶ÔÄ£¿éµÄ¶¨ÒåÊ®·Ö¼òµ¥£¬Ö÷Òª·ÖΪģ¿éÒýÓá¢Ä£¿é¶¨ÒåºÍÄ£¿é±êʶ3¸ö²¿·Ö¡£
1. Ä£¿éÒýÓÃ
Ä£¿éÒýÓõÄʾÀý´úÂëÈçÏ£º
var math = require('math');
|
ÔÚCommonJS¹æ·¶ÖУ¬´æÔÚrequire()·½·¨£¬Õâ¸ö·½·¨½ÓÊÜÄ£¿é±êʶ£¬ÒÔ´ËÒýÈëÒ»¸öÄ£¿éµÄAPIµ½µ±Ç°ÉÏÏÂÎÄÖС£
2. Ä£¿é¶¨Òå
ÔÚÄ£¿éÖУ¬ÉÏÏÂÎÄÌṩrequire()·½·¨À´ÒýÈëÍⲿģ¿é¡£¶ÔÓ¦ÒýÈëµÄ¹¦ÄÜ£¬ÉÏÏÂÎÄÌṩÁËexports¶ÔÏóÓÃÓÚµ¼³öµ±Ç°Ä£¿éµÄ·½·¨»òÕß±äÁ¿£¬²¢ÇÒËüÊÇΨһµ¼³öµÄ³ö¿Ú¡£ÔÚÄ£¿éÖУ¬»¹´æÔÚÒ»¸ömodule¶ÔÏó£¬Ëü´ú±íÄ£¿é×ÔÉí£¬¶øexportsÊÇmoduleµÄÊôÐÔ¡£ÔÚNodeÖУ¬Ò»¸öÎļþ¾ÍÊÇÒ»¸öÄ£¿é£¬½«·½·¨¹ÒÔØÔÚexports¶ÔÏóÉÏ×÷ΪÊôÐÔ¼´¿É¶¨Òåµ¼³öµÄ·½Ê½£º
// math.js
exports.add = function () {
var sum = 0, i = 0, args = arguments, l = args.length;
while (i < l) { sum += args[i++]; }
return sum;
}; |
ÔÚÁíÒ»¸öÎļþÖУ¬ÎÒÃÇͨ¹ýrequire()·½·¨ÒýÈëÄ£¿éºó£¬¾ÍÄܵ÷Óö¨ÒåµÄÊôÐÔ»ò·½·¨ÁË£º
// program.js
var math = require('math');
exports.increment = function (val) { return
math.add(val, 1);}; |
3.Ä£¿é±êʶ
Ä£¿é±êʶÆäʵ¾ÍÊÇ´«µÝ¸ørequire()·½·¨µÄ²ÎÊý£¬Ëü±ØÐëÊÇ·ûºÏСÍÕ·åÃüÃûµÄ×Ö·û´®£¬»òÕßÒÔ.¡¢..¿ªÍ·µÄÏà¶Ô·¾¶£¬»òÕß¾ø¶Ô·¾¶¡£Ëü¿ÉÒÔûÓÐÎļþÃûºó׺.js¡£Ä£¿éµÄ¶¨ÒåÊ®·Ö¼òµ¥£¬½Ó¿ÚҲʮ·Ö¼ò½à¡£ËüµÄÒâÒåÔÚÓÚ½«Àà¾ÛµÄ·½·¨ºÍ±äÁ¿µÈÏÞ¶¨ÔÚ˽ÓеÄ×÷ÓÃÓòÖУ¬Í¬Ê±Ö§³ÖÒýÈëºÍµ¼³ö¹¦ÄÜÒÔ˳³©µØÁ¬½ÓÉÏÏÂÓÎÒÀÀµ¡£Ã¿¸öÄ£¿é¾ßÓжÀÁ¢µÄ¿Õ¼ä£¬ËüÃÇ»¥²»¸ÉÈÅ£¬ÔÚÒýÓÃʱҲÏԵøɾ»ÀûÂä¡£
¶þ¡¢NodeµÄÄ£¿éʵÏÖ
NodeÔÚʵÏÖÖв¢·ÇÍêÈ«°´Õչ淶ʵÏÖ£¬¶øÊǶÔÄ£¿é¹æ·¶½øÐÐÁËÒ»¶¨µÄÈ¡ÉᣬͬʱҲÔö¼ÓÁËÉÙÐí×ÔÉíÐèÒªµÄÌØÐÔ¡£¾¡¹Ü¹æ·¶ÖÐexports¡¢requireºÍmoduleÌýÆðÀ´Ê®·Ö¼òµ¥£¬µ«ÊÇNodeÔÚʵÏÖËüÃǵĹý³ÌÖо¿¾¹¾ÀúÁËʲô£¬Õâ¸ö¹ý³ÌÐèÒªÖªÏþ¡£
ÔÚNodeÖÐÒýÈëÄ£¿é£¬ÐèÒª¾ÀúÈçÏÂ3¸ö²½Öè¡£
1. ·¾¶·ÖÎö
2. Îļþ¶¨Î»
3. ±àÒëÖ´ÐÐ
ÔÚNodeÖУ¬Ä£¿é·ÖΪÁ½ÀࣺһÀàÊÇNodeÌṩµÄÄ£¿é£¬³ÆÎªºËÐÄÄ£¿é£»ÁíÒ»ÀàÊÇÓû§±àдµÄÄ£¿é£¬³ÆÎªÎļþÄ£¿é¡£
ºËÐÄÄ£¿é²¿·ÖÔÚNodeÔ´´úÂëµÄ±àÒë¹ý³ÌÖУ¬±àÒë½øÁ˶þ½øÖÆÖ´ÐÐÎļþ¡£ÔÚNode½ø³ÌÆô¶¯Ê±£¬²¿·ÖºËÐÄÄ£¿é¾Í±»Ö±½Ó¼ÓÔØ½øÄÚ´æÖУ¬ËùÒÔÕⲿ·ÖºËÐÄÄ£¿éÒýÈëʱ£¬Îļþ¶¨Î»ºÍ±àÒëÖ´ÐÐÕâÁ½¸ö²½Öè¿ÉÒÔÊ¡ÂÔµô£¬²¢ÇÒÔÚ·¾¶·ÖÎöÖÐÓÅÏÈÅжϣ¬ËùÒÔËüµÄ¼ÓÔØËÙ¶ÈÊÇ×î¿ìµÄ¡£
ÎļþÄ£¿éÔòÊÇÔÚÔËÐÐʱ¶¯Ì¬¼ÓÔØ£¬ÐèÒªÍêÕûµÄ·¾¶·ÖÎö¡¢Îļþ¶¨Î»¡¢±àÒëÖ´Ðйý³Ì£¬ËٶȱȺËÐÄÄ£¿éÂý¡£
1.ÓÅÏÈ´Ó»º´æ¼ÓÔØ
Óëǰ¶Ëä¯ÀÀÆ÷»á»º´æ¾²Ì¬½Å±¾ÎļþÒÔÌá¸ßÐÔÄÜÒ»Ñù£¬Node¶ÔÒýÈë¹ýµÄÄ£¿é¶¼»á½øÐлº´æ£¬ÒÔ¼õÉÙ¶þ´ÎÒýÈëʱµÄ¿ªÏú¡£²»Í¬µÄµØ·½ÔÚÓÚ£¬ä¯ÀÀÆ÷½ö½ö»º´æÎļþ£¬¶øNode»º´æµÄÊDZàÒëºÍÖ´ÐÐÖ®ºóµÄ¶ÔÏó¡£²»ÂÛÊǺËÐÄÄ£¿é»¹ÊÇÎļþÄ£¿é£¬require()·½·¨¶ÔÏàͬģ¿éµÄ¶þ´Î¼ÓÔØ¶¼Ò»ÂɲÉÓûº´æÓÅÏȵķ½Ê½£¬ÕâÊǵÚÒ»ÓÅÏȼ¶µÄ¡£²»Í¬Ö®´¦ÔÚÓÚºËÐÄÄ£¿éµÄ»º´æ¼ì²éÏÈÓÚÎļþÄ£¿éµÄ»º´æ¼ì²é¡£
2.·¾¶·ÖÎöºÍÎļþ¶¨Î»
ÒòΪ±êʶ·ûÓм¸ÖÖÐÎʽ£¬¶ÔÓÚ²»Í¬µÄ±êʶ·û£¬Ä£¿éµÄ²éÕҺͶ¨Î»Óв»Í¬³Ì¶ÈÉϵIJîÒì¡£
1. Ä£¿é±êʶ·û·ÖÎö
Node»ùÓÚÒ»¸öÄ£¿é±êʶ·û½øÐÐÄ£¿é²éÕÒ¡£Ä£¿é±êʶ·ûÔÚNodeÖÐÖ÷Òª·ÖΪÒÔϼ¸Àà¡£
ºËÐÄÄ£¿é£¬Èçhttp¡¢fs¡¢pathµÈ¡£
.»ò..¿ªÊ¼µÄÏà¶Ô·¾¶ÎļþÄ£¿é¡£
ÒÔ/¿ªÊ¼µÄ¾ø¶Ô·¾¶ÎļþÄ£¿é¡£
·Ç·¾¶ÐÎʽµÄÎļþÄ£¿é£¬Èç×Ô¶¨ÒåµÄconnectÄ£¿é¡£
ºËÐÄÄ£¿é
ºËÐÄÄ£¿éµÄÓÅÏȼ¶½ö´ÎÓÚ»º´æ¼ÓÔØ£¬ËüÔÚNodeµÄÔ´´úÂë±àÒë¹ý³ÌÖÐÒѾ±àÒëΪ¶þ½øÖÆ´úÂ룬Æä¼ÓÔØ¹ý³Ì×î¿ì¡£Èç¹ûÊÔͼ¼ÓÔØÒ»¸öÓëºËÐÄÄ£¿é±êʶ·ûÏàͬµÄ×Ô¶¨ÒåÄ£¿é£¬ÄÇÊDz»»á³É¹¦µÄ¡£Èç¹û×Ô¼º±àдÁËÒ»¸öhttpÓû§Ä£¿é£¬ÏëÒª¼ÓÔØ³É¹¦£¬±ØÐëÑ¡ÔñÒ»¸ö²»Í¬µÄ±êʶ·û»òÕß»»Ó÷¾¶µÄ·½Ê½¡£
·¾¶ÐÎʽµÄÎļþÄ£¿é
ÒÔ.¡¢..ºÍ/¿ªÊ¼µÄ±êʶ·û£¬ÕâÀï¶¼±»µ±×öÎļþÄ£¿éÀ´´¦Àí¡£ÔÚ·ÖÎö·¾¶Ä£¿éʱ£¬require()·½·¨»á½«Â·¾¶×ªÎªÕæÊµÂ·¾¶£¬²¢ÒÔÕæÊµÂ·¾¶×÷ΪË÷Òý£¬½«±àÒëÖ´ÐкóµÄ½á¹û´æ·Åµ½»º´æÖУ¬ÒÔʹ¶þ´Î¼ÓÔØÊ±¸ü¿ì¡£ÓÉÓÚÎļþÄ£¿é¸øNodeÖ¸Ã÷ÁËÈ·ÇеÄÎļþλÖã¬ËùÒÔÔÚ²éÕÒ¹ý³ÌÖпÉÒÔ½ÚÔ¼´óÁ¿Ê±¼ä£¬Æä¼ÓÔØËÙ¶ÈÂýÓÚºËÐÄÄ£¿é¡£
×Ô¶¨ÒåÄ£¿é
×Ô¶¨ÒåÄ£¿éÖ¸µÄÊǷǺËÐÄÄ£¿é£¬Ò²²»ÊÇ·¾¶ÐÎʽµÄ±êʶ·û¡£ËüÊÇÒ»ÖÖÌØÊâµÄÎļþÄ£¿é£¬¿ÉÄÜÊÇÒ»¸öÎļþ»òÕß°üµÄÐÎʽ¡£ÕâÀàÄ£¿éµÄ²éÕÒÊÇ×î·ÑʱµÄ£¬Ò²ÊÇËùÓз½Ê½ÖÐ×îÂýµÄÒ»ÖÖ¡£
2.Îļþ¶¨Î»
´Ó»º´æ¼ÓÔØµÄÓÅ»¯²ßÂÔʹµÃ¶þ´ÎÒýÈëʱ²»ÐèҪ·¾¶·ÖÎö¡¢Îļþ¶¨Î»ºÍ±àÒëÖ´ÐеĹý³Ì£¬´ó´óÌá¸ßÁËÔٴμÓÔØÄ£¿éʱµÄЧÂÊ¡£µ«ÔÚÎļþµÄ¶¨Î»¹ý³ÌÖУ¬»¹ÓÐһЩϸ½ÚÐèҪעÒ⣬ÕâÖ÷Òª°üÀ¨ÎļþÀ©Õ¹ÃûµÄ·ÖÎö¡¢Ä¿Â¼ºÍ°üµÄ´¦Àí¡£
ÎļþÀ©Õ¹Ãû·ÖÎö
CommonJSÄ£¿é¹æ·¶Ò²ÔÊÐíÔÚ±êʶ·ûÖв»°üº¬ÎļþÀ©Õ¹Ãû£¬ÕâÖÖÇé¿öÏ£¬Node»á°´.js¡¢.json¡¢.nodeµÄ´ÎÐò²¹×ãÀ©Õ¹Ãû£¬ÒÀ´Î³¢ÊÔ¡£ÔÚ³¢ÊԵĹý³ÌÖУ¬ÐèÒªµ÷ÓÃfsÄ£¿éͬ²½×èÈûʽµØÅжÏÎļþÊÇ·ñ´æÔÚ¡£ÒòΪNodeÊǵ¥Ï̵߳ģ¬ËùÒÔÕâÀïÊÇÒ»¸ö»áÒýÆðÐÔÄÜÎÊÌâµÄµØ·½¡£Ð¡¾÷ÇÏÊÇ£ºÈç¹ûÊÇ.nodeºÍ.jsonÎļþ£¬ÔÚ´«µÝ¸ørequire()µÄ±êʶ·ûÖдøÉÏÀ©Õ¹Ãû£¬»á¼Ó¿ìÒ»µãËÙ¶È¡£
Ŀ¼·ÖÎöºÍ°ü
ÔÚ·ÖÎö±êʶ·ûµÄ¹ý³ÌÖУ¬require()ͨ¹ý·ÖÎöÎļþÀ©Õ¹ÃûÖ®ºó£¬¿ÉÄÜûÓвéÕÒµ½¶ÔÓ¦Îļþ£¬µ«È´µÃµ½Ò»¸öĿ¼£¬´ËʱNode»á½«Ä¿Â¼µ±×öÒ»¸ö°üÀ´´¦Àí¡£
ÔÚÕâ¸ö¹ý³ÌÖУ¬Node¶ÔCommonJS°ü¹æ·¶½øÐÐÁËÒ»¶¨³Ì¶ÈµÄÖ§³Ö¡£Ê×ÏÈ£¬NodeÔÚµ±Ç°Ä¿Â¼Ï²éÕÒpackage.json£¨CommonJS°ü¹æ·¶¶¨ÒåµÄ°üÃèÊöÎļþ£©£¬Í¨¹ýJSON.parse()½âÎö³ö°üÃèÊö¶ÔÏ󣬴ÓÖÐÈ¡³ömainÊôÐÔÖ¸¶¨µÄÎļþÃû½øÐж¨Î»¡£Èç¹ûÎļþÃûȱÉÙÀ©Õ¹Ãû£¬½«»á½øÈëÀ©Õ¹Ãû·ÖÎöµÄ²½Öè¡£¶øÈç¹ûmainÊôÐÔÖ¸¶¨µÄÎļþÃû´íÎ󣬻òÕßѹ¸ùûÓÐpackage.jsonÎļþ£¬Node»á½«indexµ±×öĬÈÏÎļþÃû£¬È»ºóÒÀ´Î²éÕÒindex.js¡¢index.node¡¢index.json¡£
Èç¹ûÔÚĿ¼·ÖÎöµÄ¹ý³ÌÖÐûÓж¨Î»³É¹¦ÈκÎÎļþ£¬Ôò×Ô¶¨ÒåÄ£¿é½øÈëÏÂÒ»¸öÄ£¿é·¾¶½øÐвéÕÒ¡£Èç¹ûÄ£¿é·¾¶Êý×é¶¼±»±éÀúÍê±Ï£¬ÒÀȻûÓвéÕÒµ½Ä¿±êÎļþ£¬Ôò»áÅ׳ö²éÕÒʧ°ÜµÄÒì³£¡£
3.Ä£¿é±àÒë
ÔÚNodeÖУ¬Ã¿¸öÎļþÄ£¿é¶¼ÊÇÒ»¸ö¶ÔÏó£¬ËüµÄ¶¨ÒåÈçÏ£º
function Module(id,
parent) {
this.id = id;
this.exports = {};
this.parent = parent;
if (parent && parent.children) {
parent.children.push(this);
}
this.filename = null;
this.loaded = false;
this.children = [];
} |
±àÒëºÍÖ´ÐÐÊÇÒýÈëÎļþÄ£¿éµÄ×îºóÒ»¸ö½×¶Î¡£¶¨Î»µ½¾ßÌåµÄÎļþºó£¬Node»áн¨Ò»¸öÄ£¿é¶ÔÏó£¬È»ºó¸ù¾Ý·¾¶ÔØÈë²¢±àÒë¡£¶ÔÓÚ²»Í¬µÄÎļþÀ©Õ¹Ãû£¬ÆäÔØÈë·½·¨Ò²ÓÐËù²»Í¬£¬¾ßÌåÈçÏÂËùʾ¡£
.jsÎļþ¡£
ͨ¹ýfsÄ£¿éͬ²½¶ÁÈ¡Îļþºó±àÒëÖ´ÐС£
.nodeÎļþ¡£
ÕâÊÇÓÃC/C++±àдµÄÀ©Õ¹Îļþ£¬Í¨¹ýdlopen()·½·¨¼ÓÔØ×îºó±àÒëÉú³ÉµÄÎļþ¡£
.jsonÎļþ¡£
ͨ¹ýfsÄ£¿éͬ²½¶ÁÈ¡Îļþºó£¬ÓÃJSON.parse()½âÎö·µ»Ø½á¹û¡£
? ÆäÓàÀ©Õ¹ÃûÎļþ¡£
ËüÃǶ¼±»µ±×ö.jsÎļþÔØÈë¡£
ÿһ¸ö±àÒë³É¹¦µÄÄ£¿é¶¼»á½«ÆäÎļþ·¾¶×÷ΪË÷Òý»º´æÔÚModule._cache¶ÔÏóÉÏ£¬ÒÔÌá¸ß¶þ´ÎÒýÈëµÄÐÔÄÜ¡£
JavaScriptÄ£¿éµÄ±àÒë
»Øµ½CommonJSÄ£¿é¹æ·¶£¬ÎÒÃÇÖªµÀÿ¸öÄ£¿éÎļþÖдæÔÚ×Årequire¡¢exports¡¢moduleÕâ3¸ö±äÁ¿£¬µ«ÊÇËüÃÇÔÚÄ£¿éÎļþÖв¢Ã»Óж¨Ò壬ÄÇô´ÓºÎ¶øÀ´ÄØ£¿ÉõÖÁÔÚNodeµÄAPIÎĵµÖУ¬ÎÒÃÇÖªµÀÿ¸öÄ£¿éÖл¹ÓÐ__filename¡¢__dirnameÕâÁ½¸ö±äÁ¿µÄ´æÔÚ£¬ËüÃÇÓÖÊǴӺζøÀ´µÄÄØ£¿Èç¹ûÎÒÃǰÑÖ±½Ó¶¨ÒåÄ£¿éµÄ¹ý³Ì·ÅÖîÔÚä¯ÀÀÆ÷¶Ë£¬»á´æÔÚÎÛȾȫ¾Ö±äÁ¿µÄÇé¿ö¡£
ÊÂʵÉÏ£¬ÔÚ±àÒëµÄ¹ý³ÌÖУ¬Node¶Ô»ñÈ¡µÄJavaScriptÎļþÄÚÈݽøÐÐÁËͷβ°ü×°¡£ÔÚÍ·²¿Ìí¼ÓÁË(function
(exports, require, module, __filename, __dirname)
{\n£¬ÔÚβ²¿Ìí¼ÓÁË\n});¡£Ò»¸öÕý³£µÄjavascriptÎļþ»á±»°ü×°³ÉÈçϵÄÑù×Ó£º
(function (exports, require, module, __filename, __dirname)
{
var math = require('math');
exports.area = function (radius) {
return Math.PI * radius * radius;
};
});
ÕâÑùÿ¸öÄ£¿éÎļþÖ®¼ä¶¼½øÐÐÁË×÷ÓÃÓò¸ôÀë¡£°ü×°Ö®ºóµÄ´úÂë»áͨ¹ývmÔÉúÄ£¿éµÄrunInThisContext()·½·¨Ö´ÐУ¨ÀàËÆeval£¬Ö»ÊǾßÓÐÃ÷È·ÉÏÏÂÎÄ£¬²»ÎÛȾȫ¾Ö£©£¬·µ»ØÒ»¸ö¾ßÌåµÄfunction¶ÔÏó¡£×îºó£¬½«µ±Ç°Ä£¿é¶ÔÏóµÄexportsÊôÐÔ¡¢require()·½·¨¡¢module£¨Ä£¿é¶ÔÏó×ÔÉí£©£¬ÒÔ¼°ÔÚÎļþ¶¨Î»Öеõ½µÄÍêÕûÎļþ·¾¶ºÍÎļþĿ¼×÷Ϊ²ÎÊý´«µÝ¸øÕâ¸öfunction()Ö´ÐС£
3.°üºÍNPM
ÔÚÄ£¿éÖ®Í⣬°üºÍNPMÔòÊǽ«Ä£¿éÁªÏµÆðÀ´µÄÒ»ÖÖ»úÖÆ¡£

CommonJSµÄ°ü¹æ·¶µÄ¶¨ÒåÆäʵҲʮ·Ö¼òµ¥£¬ËüÓɰü½á¹¹ºÍ°üÃèÊöÎļþÁ½¸ö²¿·Ö×é³É£¬Ç°ÕßÓÃÓÚ×éÖ¯°üÖеĸ÷ÖÖÎļþ£¬ºóÕßÔòÓÃÓÚÃèÊö°üµÄÏà¹ØÐÅÏ¢£¬ÒÔ¹©Íⲿ¶ÁÈ¡·ÖÎö¡£
1.°ü½á¹¹
°üʵ¼ÊÉÏÊÇÒ»¸ö´æµµÎļþ£¬¼´Ò»¸öĿ¼ֱ½Ó´ò°üΪ.zip»òtar.gz¸ñʽµÄÎļþ£¬°²×°ºó½âѹ»¹ÔΪĿ¼¡£ÍêÈ«·ûºÏCommonJS¹æ·¶µÄ°üĿ¼Ӧ¸Ã°üº¬ÈçÏÂÕâЩÎļþ¡£
package.json£º°üÃèÊöÎļþ¡£
bin£ºÓÃÓÚ´æ·Å¿ÉÖ´Ðжþ½øÖÆÎļþµÄĿ¼¡£
lib£ºÓÃÓÚ´æ·ÅJavaScript´úÂëµÄĿ¼¡£
doc£ºÓÃÓÚ´æ·ÅÎĵµµÄĿ¼¡£
test£ºÓÃÓÚ´æ·Åµ¥Ôª²âÊÔÓÃÀýµÄ´úÂë¡£
2.°üÃèÊöÎļþ
°üÃèÊöÎļþÓÃÓÚ±í´ï·Ç´úÂëÏà¹ØµÄÐÅÏ¢£¬ËüÊÇÒ»¸öJSON¸ñʽµÄÎļþ¡ª¡ªpackage.json£¬Î»ÓÚ°üµÄ¸ùĿ¼Ï£¬ÊǰüµÄÖØÒª×é³É²¿·Ö¡£¶øNPMµÄËùÓÐÐÐΪ¶¼Óë°üÃèÊöÎļþµÄ×Ö¶ÎϢϢÏà¹Ø¡£
Õâ¸ö¿ÉÒÔ¿´¿´NPM¹ÙÍø¶Ôpackage.jsonµÄ¶¨Ò广·¶¡£
¿ÉÒÔͨ¹ýnpm adduser, npm publish°Ñ×Ô¼ºµÄpackageÉÏ´«µ½npm²Ö¿â¡£
Èý¡¢ÌâÍâ»°£º AMD¡¢CMD¡¢¼æÈݶàÖÖÄ£¿é¹æ·¶µÄÀà¿â
1. AMD
ÊÇCommonJSÄ£¿é¹æ·¶µÄÒ»¸öÑÓÉ죬ËüµÄÄ£¿é¶¨ÒåÈçÏ£º
define(id?, dependencies?, factory);
2.CMD

3.¼æÈÝ
ΪÁËÈÃͬһ¸öÄ£¿é¿ÉÒÔÔËÐÐÔÚǰºó¶Ë£¬ÔÚд×÷¹ý³ÌÖÐÐèÒª¿¼ÂǼæÈÝǰ¶ËҲʵÏÖÁËÄ£¿é¹æ·¶µÄ»·¾³¡£ÎªÁ˱£³Öǰºó¶ËµÄÒ»ÖÂÐÔ£¬Àà¿â¿ª·¢ÕßÐèÒª½«Àà¿â´úÂë°ü×°ÔÚÒ»¸ö±Õ°üÄÚ¡£ÒÔÏ´úÂëÑÝʾÈçºÎ½«hello()·½·¨¶¨Òåµ½²»Í¬µÄÔËÐл·¾³ÖУ¬ËüÄܹ»¼æÈÝNode¡¢AMD¡¢CMDÒÔ¼°³£¼ûµÄä¯ÀÀÆ÷»·¾³ÖУº

|