ÕªÒª£ºÄ£¿é»¯¶ÔÈκδóÐÍÓ¦ÓÃÀ´ËµÊ®·Ö±ØÒª£¬ES6ÃÖ²¹ÁËJavaScriptȱÉÙ¶ÔÄ£¿éÖ§³ÖµÄÒź¶¡£ä¯ÀÀÆ÷Ëä¶ÔES6Ä£¿é»¯Ö§³Ö»¹²»¹»£¬µ«¿ª·¢Õß¿ÉÒÔ½èÖú±àÒëÆ÷½«ES6Ä£¿éת»»³ÉES5¡£±¾ÎĽ«ÏµÍ³½²½âES6Ä£¿éϵͳËùÌṩµÄ¸÷ÖÖ±àÂë·½·¨¡£

¡¾±àÕß°´¡¿ÔÚÈκÎÒ»¸ö´óÐÍÓ¦ÓÃÖÐÄ£¿é»¯ÊǺܳ£¼ûµÄ¡£ES6µÄÄ£¿éΪJavaScriptÌṩÁËÕâ¸öÌØÐÔ£¬²¢ÇÒΪÕâЩģ¿éÌṩÁËÐí¶àÑ¡Ôñ·½·¨À´µ¼³öºÍÒýÈë¶ÔÏó¡£Ravi Kiran ÔÚ¡¶Modules in ECMAScript 6 (ES6)¡·Ò»ÎÄÖÐÖ÷ÒªÌÖÂÛÁËES6Ä£¿éϵͳ¡£ÒÔÏÂΪ¸ÃÎÄÕµļòÒëÄÚÈÝ£º
ÎÞÂÛʹÓúÎÖÖ±à³ÌÓïÑÔ¿ª·¢´óÐÍÓ¦Óã¬×î¹Ø¼üµÄÌØÐÔ¾ÍÊÇ´úÂëÄ£¿é»¯¡£Õâ¸ö¸ÅÄîÔÚ²»Í¬µÄ±à³ÌÓïÑÔÀïÓÐ×Ų»Í¬µÄÃüÃû£¬ÔÚCÀïΪͷ²¿Îļþ£¬C++ºÍC#ÀïΪÃüÃû¿Õ¼ä£¬JavaÖÐΪ°ü£¬Ãû³Æ²»Ò»Ñùµ«½â¾öµÄÊÇͬһÎÊÌâ¡£ÕýÈç¡¶ ECMAScript 6 ¨C New language improvements in JavaScript¡·ÏµÁÐÎÄÕÂÖеÚһƪËùÌáµ½µÄÄÇÑù£¬×î³õJavaScript²¢²»ÊÇÓÃÀ´±àд´óÁ¿´úÂëµÄ£¬±ÈÈç´´½¨´óÐÍ¿ò¼Ü¡¢AppÓ¦Óõȡ£¾ÍÔÚÎÒÃÇÒòΪJavaScriptȱÉÙ¶ÔÄ£¿éµÄÖ§³Ö¶ø±àд´óÁ¿´úÂëʱ£¬¿ªÔ´¿ª·¢ÕßÌá³öÁËһЩ±ê×¼£¬ÈçCommoneJsÄ£¿éÄ£ÐÍ¡¢Ò첽ģ¿é¶¨Ò壨AMD£©ÒÔ¼°Ò»Ð©¿â£¬À´ÊµÏÖÄ£¿é»¯¡£ÔÚ¹ýÈ¥¼¸ÄêÀï,ÕâЩ¿â»ñµÃÁ˹㷺¹Ø×¢£¬²¢³É¹¦Ó¦Óõ½¶à¸öÆóÒµ¹æÄ£¼¶µÄÓ¦ÓóÌÐòÖС£
ES6ΪJavaScript´øÀ´ÁËÄ£¿éÌØÐÔ¡£ä¯ÀÀÆ÷ʵÏÖÕâÒ»ÌØÐÔ»¹ÐèÒªÒ»¶Îʱ¼ä£¬ÒòΪËüÃDZØÐ붨ÒåÒ»¸ö·½·¨À´¶¯Ì¬ÏÂÔØÎļþ¡£ÔÚä¯ÀÀÆ÷Ö§³Ö¸ÃÌØÐÔÒÔǰ£¬ÎÒÃÇ¿ÉÒÔʹÓñàÒëÆ÷£¬Èç Traceur¡¢6to5¡¢ES6 Module LoaderÒÔ¼°ÆäËü¿ÉÒÔÈÃES6Ä£¿éת»»³ÉES5µÄתÂëÆ÷¡£
JavaScriptÄ£¿éϵͳµÄÏÖ×´
CommonJSÄ£¿éϵͳ
CommonJsÊÇÒ»¸öÓÉ¿ªÔ´¿ª·¢Õß×é³ÉµÄÍŶӣ¬Ö÷ÒªÎ§ÈÆJavaScriptʵÏÖһЩAPI¼°¿ªÕ¹Ñз¢Êµ¼ù¡£¸ÃÍŶÓÌá³öÁËÒ»¸öJavaScriptÄ£¿é¹æ·¶¡£Ã¿¸öÎļþ¶¼¿Éµ±×÷Ò»¸öÄ£¿é£¬²¢ÇÒÿ¸öÎļþ¿ÉÒÔ·ÃÎÊÁ½¸ö¶ÔÏó£ºrequireºÍexport¡£requireÓÃÀ´½ÓÊÕ×Ö·û´®£¨Ä£¿éÃû£©£¬²¢·µ»Ø¸ÃÄ£¿éÊä³öµÄ¶ÔÏó¡£export¶ÔÏóÓÃÀ´µ¼³ö¸ÃÄ£¿éµÄ·½·¨ºÍ±äÁ¿¡£require·½·¨·µ»ØµÄ¾ÍÊÇexport¶ÔÏó¡£Ä£¿éͬ²½¼ÓÔØ¡£·þÎñÆ÷¶ËJavaScriptÒýÇæNode.js¾ÍÊÇÓõÄÕâ¸öÄ£¿éϵͳ¡£
Ò첽ģ¿é¶¨Ò壨AMD£©
AMDÊÇÒ»¸ö²ÉÓÃÒì²½·½Ê½¼ÓÔØÒÀÀµÄ£¿éµÄÄ£¿éϵͳ¡£Èç¹ûÄ£¿éÔÚ²»Í¬ÎļþÖУ¬ËüÃǽ«²ÉÓÃXHR½øÐмÓÔØ¡£Ä³Ò»Ä£¿é½«µÈÆäËùÒÀÀµµÄÄ£¿éÒ»Ò»¼ÓÔØºó²Å»á±»Ö´ÐС£AMDÄ£¿é±ØÐëÊÇÒ»¸öº¯Êý£¬²¢×÷Ϊ²ÎÊý´«Èëdefineº¯ÊýÖС£º¯ÊýµÄ·µ»ØÖµ½«´«Ê䏸ËùÓÐÒÀÀµµÄÄ£¿é£¬Ëù»ñµÃ·µ»ØÖµÓÖ½«×÷Ϊ²ÎÊý´«¸øÄ£¿é·½·¨¡£Require.js¿âÖÐʵÏÖÁËAMD¡£
TypeScriptÄ£¿é
TypeScript£¬×÷ΪJavaScriptµÄ³¬¼¯£¬Ò²ÌṩÁËÒ»¸öÄ£¿éϵͳ¡£µ±Ëü±»±àÒëʱ£¬±ã¿ªÊ¼Ê¹ÓÃJavaScriptÄ£¿éģʽ¡£TypeScriptÄ£¿éʹÓÃmodule¹Ø¼ü×Ö¶¨Ò壬Èκα»Êä³öµÄ¶ÔÏó±ØÐëʹÓÃexport¹Ø¼ü×Ö¶¨Òå¡£import¹Ø¼ü×ÖÓÃÀ´½«ÆäËüÄ£¿é¼ÓÔØÈëÄ£¿éÖУ¬²¢²¶×½¸ÃÄ£¿éµ¼³öµÄ¶ÔÏó¡£TypeScriptÄ£¿éÊÇͬ²½¼ÓÔØµÄ¡£
ES6Ä£¿éϵͳ
ES6Ä£¿éϵͳÆô·¢ÓÚÉÏÊöÏÖÓÐÄ£¿éϵͳ£¬Ëü¾ßÓÐÒÔÏÂÌØÐÔ£º
- ʹÓÃexport¹Ø¼ü´Êµ¼³ö¶ÔÏó¡£Õâ¸ö¹Ø¼ü×Ö¿ÉÒÔÎÞÏÞ´ÎʹÓã»
-
ʹÓÃimport¹Ø¼ü×Ö½«ÆäËüÄ£¿éµ¼Èëijһģ¿éÖС£Ëü¿ÉÓÃÀ´µ¼ÈëÈÎÒâÊýÁ¿µÄÄ£¿é£»
-
Ö§³ÖÄ£¿éµÄÒì²½¼ÓÔØ£»
-
Ϊ¼ÓÔØÄ£¿éÌṩ±à³ÌÖ§³Ö¡£
½ÓÏÂÀ´ÈÃÎÒÃÇͨ¹ý¾ßÌå±à³Ì·½·¨¿´¿´Ã¿Ò»¸öÌØÐÔ¡£
µ¼³ö¶ÔÏó
ÔÚÏÖÓеÄÄ£¿éϵͳÖУ¬Ã¿¸öJavaScript´úÂëÎļþÔÚES6Öж¼ÊÇÒ»¸öÄ£¿é¡£Ö»ÓÐÄ£¿éÖеĶÔÏóÐèÒª±»Íⲿµ÷ÓÃʱ£¬Ä£¿é²Å»áÊä³ö¶ÔÏ󣬯äÓàÔò¶¼ÊÇÄ£¿éµÄ˽ÓжÔÏ󡣸ô¦Àí·½Ê½½«Ï¸½Ú½øÐзâ×°£¬½öµ¼³ö±ØÒªµÄ¹¦ÄÜ¡£
´ÓÄ£¿éÀïµ¼³ö¶ÔÏó£¬ES6ΪÎÒÃÇÌṩÁ˲»Í¬·½·¨£¬¼ûÏÂÃæµÄÌÖÂÛ¡£
ÄÚÁªµ¼³ö
ES6Ä£¿éÀïµÄ¶ÔÏó¿ÉÔÚ´´½¨ËüÃǵÄÉùÃ÷Öе¼³ö¡£Ò»¸öÄ£¿éÖпÉÎÞÊý´ÎʹÓÃexport£¬ËùÓеĶÔÏ󽫱»Ò»Æðµ¼³ö¡£Çë¿´ÏÂÃæµÄÀý×Ó£º
export class Employee{ constructor(id, name, dob){ this.id = id; this.name=name; this.dob= dob; } getAge(){ return (new Date()).getYear() - this.dob.getYear(); } } export function getEmployee(id, name, dob){ return new Employee(id, name, dob); } var emp = new Employee(1, "Rina", new Date(1987, 1, 22)); |
°¸ÀýÖеÄÄ£¿éµ¼³öÁËÁ½¸ö¶ÔÏó£º EmployeeÀ࣬getEmployeeº¯Êý¡£Òò¶ÔÏóempδ±»µ¼³ö£¬ËùÒÔÆäÈÔΪģ¿é˽ÓС£
µ¼³öÒ»×é¶ÔÏó
¾¡¹ÜÄÚÁªµ¼³öºÜÓÐЧ£¬µ«ÔÚ´ó¹æÄ£Ä£¿éÖУ¬Ëü¾ÍºÜÄÑ·¢»Ó×÷ÓÃÁË£¬ÒòΪÎÒÃÇ¿ÉÄÜÎÞ·¨×·×Ùµ½Ä£¿éµ¼³öÀ´µÄ¶ÔÏó¡£ÔÚÕâÖÖÇé¿öÏ£¬¸üºÃµÄ°ì·¨ÊÇ£¬ÔÚÄ£¿éµÄĩβµ¥¶À½øÐе¼³öÉùÃ÷£¬ÒÔµ¼³ö¸ÃÄ£¿éÖеÄÈ«²¿¶ÔÏó¡£
ʹÓõ¥¶Àµ¼³öÉùÃ÷ÖØÐ´ÉÏÒ»°¸ÀýÖеÄÄ£¿é£¬½á¹ûÈçÏ£º
class Employee{ constructor(id, name, dob){ this.id = id; this.name=name; this.dob= dob; } getAge(){ return (new Date()).getYear() - this.dob.getYear(); } } function getEmployee(id, name, dob){ return new Employee(id, name, dob); } var x = new Employee(1, "Rina", new Date(1987, 1, 22)); export {Employee, getEmployee}; |
ÔÚµ¼³öʱ£¬ÖØÃüÃû¶ÔÏóÒ²ÊÇ¿ÉÒԵġ£ÈçÏÂÀýËùʾ£¬EmployeeÔÚµ¼³öʱÃû×Ö¸ÄΪÁËAssociate£¬º¯ÊýGetEmployee¸ÄÃûΪgetAssociate¡£
export { Associate as Employee, getAssociate as getEmployee }; |
Defaultµ¼³ö
ʹÓùؼü×Ödefault£¬¿É½«¶ÔÏó±êעΪdefault¶ÔÏóµ¼³ö¡£default¹Ø¼ü×ÖÔÚÿһ¸öÄ£¿éÖÐÖ»ÄÜʹÓÃÒ»´Î¡£Ëü¼È¿ÉÒÔÓÃÓÚÄÚÁªµ¼³ö£¬Ò²¿ÉÒÔÓÃÓÚÒ»×é¶ÔÏóµ¼³öÉùÃ÷ÖС£
ÏÂÃæ°¸ÀýչʾÁËÔÚ×éµ¼³öÓï¾äÖÐʹÓÃdefault£º
export default { Employee, getEmployee }; |
µ¼ÈëÄ£¿é
ÏÖÓÐÄ£¿é¿ÉÒÔʹÓùؼü×Öimportµ¼Èëµ½ÆäËüÄ£¿é¡£Ò»¸öÄ£¿é¿ÉÒÔ±»µ¼ÈëÈÎÒâÊýÁ¿µÄÄ£¿éÖС£ÏÂÎÄչʾÁ˵¼ÈëÄ£¿éµÄ²»Í¬·½Ê½¡£
ÎÞ¶ÔÏóµ¼Èë
Èç¹ûÄ£¿é°üº¬Ò»Ð©Âß¼ÒªÖ´ÐУ¬ÇÒ²»»áµ¼³öÈκζÔÏ󣬴ËÀà¶ÔÏóÒ²¿ÉÒÔ±»µ¼Èëµ½Áíһģ¿éÖС£ÈçÏÂÃæ°¸ÀýËùʾ£º
µ¼ÈëĬÈ϶ÔÏó
²ÉÓÃDefaultµ¼³ö·½Ê½µ¼³ö¶ÔÏ󣬸öÔÏóÔÚimportÉùÃ÷Öн«Ö±½Ó±»·ÖÅ䏸ij¸öÒýÓã¬ÈçÏÂÀýÖеġ°d¡±¡£
import d from './module1.js'; |
µ¼ÈëÃüÃûµÄ¶ÔÏó
ÕýÈçÒÔÉÏÌÖÂ۵ģ¬Ò»¸öÄ£¿é¿ÉÒÔµ¼³öÐí¶àÃüÃû¶ÔÏó¡£Èç¹ûÁíһģ¿éÏëµ¼ÈëÕâЩÃüÃû¶ÔÏó£¬ÐèÒªÔÚµ¼ÈëÉùÃ÷ÖÐÒ»Ò»ÁгöÕâЩ¶ÔÏó¡£¾Ù¸öÀý×Ó£º
import {Employee, getEmployee} from './module1.js'; |
µ±È»Ò²¿ÉÔÚͬһ¸öÉùÃ÷Öе¼ÈëĬÈ϶ÔÏóºÍÃüÃû¶ÔÏó¡£ÕâÖÖÇé¿öÏ£¬Ä¬È϶ÔÏó±ØÐ붨ÒåÒ»¸ö±ðÃû£¬ÈçÏÂÀý¡£
import {default as d, Employee} from './module1.js'; |
µ¼ÈëËùÓжÔÏó
ÒÔÉϼ¸ÖÖÇé¿ö£¬Ö»ÓÐimportÉùÃ÷ÖÐÁоٵĶÔÏó²Å»á±»µ¼Èë²¢±»Ê¹Ó㬶øÆäËü¶ÔÏóÔòÎÞ·¨ÔÚµ¼ÈëÄ£¿éÖÐʹÓᣵ±È»£¬Õâ¾ÍÒªÇóÓû§Á˽âÄÄЩ¶ÔÏó¿ÉÒÔµ¼³ö²¢¼ÓÒÔÀûÓá£Èç¹ûÄ£¿éµ¼³ö´óÁ¿¶ÔÏó£¬Áíһģ¿éÏëÒýÈëËùÓе¼³öµÄ¶ÔÏ󣬾ͱØÐëʹÓÃÈçÏÂÉùÃ÷£º
import * as allFromModule1 from './module1.js'; |
allFromModule1ÕâÒ»±ðÃû½«Ö¸ÏòËùÓдÓmodule1µ¼³öµÄ¶ÔÏó¡£ÔÚµ¼ÈëÄ£¿éÖУ¬ËüÃÇ×÷ΪÊôÐԿɱ»·ÃÎÊ¡£
¿É±à³ÌʽµÄ°´Ðèµ¼Èë
Èç¹ûÏë»ùÓÚijЩÌõ¼þ»òµÈij¸öʼþ·¢ÉúºóÔÙ¼ÓÔØÐèÒªµÄÄ£¿é£¬¿Éͨ¹ýʹÓüÓÔØÄ£¿éµÄ¿É±à³ÌAPI£¨programmatic API£©À´ÊµÏÖ¡£Ê¹ÓÃSystem.import·½·¨£¬¿É°´³ÌÐòÉ趨¼ÓÔØÄ£¿é¡£ÕâÊÇÒ»¸öÒì²½µÄ·½·¨£¬²¢·µ»ØPromise¡£
¸Ã·½·¨µÄÓ﷨ʾÀýÈçÏ£º
System.import('./module1.js') .then(function(module1){ //use module1 }, function(e){ //handle error }); |
Èç¹ûÄ£¿é¼ÓÔØ³É¹¦ÇÒ½«µ¼³öµÄÄ£¿é³É¹¦´«µÝ¸ø»Øµ÷º¯Êý£¬Promise½«»áͨ¹ý¡£Èç¹ûÄ£¿éÃû³ÆÓÐÎó»òÓÉÓÚÍøÂçÑÓ³ÙµÈÔÒòµ¼ÖÂÄ£¿é¼ÓÔØÊ§°Ü£¬Promise½«»áʧ°Ü¡£
ES6Ä£¿éʹÓÃÏÖ×´
µ½Ä¿Ç°ÎªÖ¹£¬ËùÓÐä¯ÀÀÆ÷»¹²»ÄÜ×ÔȻ֧³ÖES6Ä£¿é£¬ËùÒÔÔÚä¯ÀÀÆ÷¼ÓÔØÖ®Ç°£¬ÎÒÃÇÐèҪʹÓÃתÒëÆ÷£¨transpiler£©½«´úÂëת»»³ÉES5¡£Ö±µ½ÏÖÔÚ£¬ÎÒһֱʹÓÃTraceur×÷ΪÎÒµÄתÒëÆ÷£¬½¨Òé´ó¼ÒʹÓÃÏàͬµÄ¹¤¾ß½«Ä£¿é´úÂëת»¯Îªä¯ÀÀÆ÷¿Éʶ±ðµÄ´úÂë¡£ÈÃÎÒÃÇ¿´¿´±àÒëES6Ä£¿éµÄ¼¸ÖÖ²»Í¬µÄ·½·¨¡£
ʹÓÃTraceur¶¯Ì¬±àÒëES6Ä£¿é
µ±ä¯ÀÀÆ÷¼ÓÔØ½Å±¾ºó£¬ÎÒÃÇ¿ÉÒÔʹÓÃTraceurµÄ¿Í»§¶Ë¿â¶¯Ì¬±àÒëES6Ä£¿é¡£Ê¹Óø÷½·¨£¬ÔËÐÐÄ£¿éÎÞÐèÔËÐÐÈκÎÃüÁî¡£ÎÒÃÇÒª×öµÃ¾ÍÊÇ£¬ÔÚÒ³ÃæÉϼÓÔØTraceur¿â£¬¼°Ìí¼Ó´úÂë½Å±¾À´ÔËÐÐWebPageTranscoder¡£
<script> new traceur.WebPageTranscoder(document.location.href).run(); </script> |
ÏÖÔÚ£¬ÎÒÃǾͿÉÒÔÔÚscript±êÇ©ÄÚ£¬½«ÀàÐÍÖ¸¶¨³ÉÄ£¿é£¬ÒԴ˵¼ÈëÈκÎÒ»¸öES6Îļþ¡£
<script type="module"> import './modules/import1.js'; </script> |
ÀàÐÍÖ¸¶¨ÎªÄ£¿éµÄÈκνű¾±êÇ©½«±»ES6¿Í»§¶Ë¿â»ñÈ¡²¢´¦Àí¡£ÉÏÃæ´úÂë¿éÖеĵ¼ÈëÓï¾ä½«·¢ËÍAJAXÇëÇ󣬲¶»ñÏàÓ¦µÄJavaScriptÎļþ£¬²¢ÔØÈëËü¡£Èç¹ûÄ£¿éÄÚ²¿ÒýÓÃÁËÁíÒ»¸öÄ£¿é£¬µ¥¶ÀµÄAJAXÇëÇ󽫷¢³ö£¬ÒÔ¼ÓÔØÓëÒýÓÃÄ£¿éÏà¶ÔÓ¦µÄÎļþ¡£
ʹÓÃTraceurÃüÁî±àÒëES6Ä£¿é
ʹÓÃTraceurÃüÁî¿ÉÒÔ½«ES6Ä£¿é±àÒë³ÉAMD»òÕßCommonJSÄ£¿é¡£Õâ¸ö·½·¨ÓÐÁ½´óÓŵ㡣
- Ä£¿éÍê³É±àÒ룬ä¯ÀÀÆ÷²»±ØÖ´ÐжîÍ⶯×÷£»
-
Èç¹ûÓ¦ÓÃÒѾʹÓÃES5¼°AMD£¨»òCommonJs£©Ä£¿éϵͳ¹¹½¨ÁËÒ»°ë£¬³ÌÐòµÄÁíÒ»°ëÒ²¿ÉÒÔʹÓÃES6£¬²¢±»±àÒëΪÕâЩģ¿éϵͳÖеÄÈκÎÒ»¸ö£¬¶ø²»ÊÇÁ¢¼´°ÑÕû¸öÓ¦ÓñàÒë³ÉES6¡£
ΪÁËʹÓñàÒëÍê³ÉµÄAMD/CommonJsµÄÄ£¿é£¬ÎÒÃÇÐèÒª°üº¬Ö§³ÖÄ£¿éϵͳµÄ¿â¡£ÎÒ¸öÈ˱ȽÏÇãÏòAMD£¬ËùÒÔÎÒ½«ÔÚÕâÀï½éÉÜÒ»ÏÂËü¡£CommonJSÄ£¿éµÄ²½ÖèºÍÕâ¸ö²î²»¶à¡£
ÏÂÃæÕâ¾äÃüÁîÊÇÓÃÀ´Èðüº¬ES6Ä£¿éµÄÎļþ¼Ð±àÒë³ÉAMD£¬²¢°ÑËüÃÇ´æ´¢ÔÚÒ»¸öµ¥¶ÀµÄÎļþ¼Ð£º
traceur --dir modules es5Modules --modules=amd |
ʹÓÃCommonJs£¬ÄãÐèÒªÔÚÉÏÃæÃüÁîÖÐʹÓÃcommonjs´úÌæmodules¡£
ÔÚÕâÀmodulesÖ¸µÄÊǰüº¬ES6µÄÎļþ¼Ð£¬es5ModulesÖ¸µÄÊÇÊä³öĿ¼¡£Èç¹û²é¿´es5ModulesÎļþ¼ÐϵÄÈκÎÎļþ£¬Ä㽫¿´µ½¸ÃAMD¶¨Òå¿é¡£require.jsÖ§³ÖAMD£¬ËùÒÔÎÒÃÇ¿ÉÒÔÔÚHTMLÒ³ÃæÖУ¬Ê¹ÓÃscriptÒýÈërequire.js£¬²¢ÓÃdata-mainÊôÐÔÖ¸Ã÷¿ªÊ¼Îļþ£¬¾ÍÏñÏÂÃæÕâÑù£º
<script src="bower_components/requirejs/require.js" data-main="es5Modules/import2.js"></script> |
ʹÓÃTraceur Grunt Task±àÒëES6Ä£¿é
ʹÓÃÃüÁî±àÒëÄ£¿éºÜÀÛ¶øÇÒ¸üÈÝÒ׳ö´í¡£ÎÒÃÇ¿ÉÒÔʹÓÃgrunt-traceur×Ô¶¯»¯±àÒë¹ý³Ì¡£´Ëʱ£¬ÄãÐèÒª°²×°NPM°ü¡£
npm intall grunt-traceur ¨Csave |
GruntÈÎÎñËùÐèÊý¾ÝÓëÌṩ¸øÃüÁîµÄÊý¾ÝÒ»Ñù¡£ÏÂÃæÊÇÈÎÎñµÄһЩÅäÖãº
traceur: { options: { modules: "amd" }, custom: { files: [{ expand: true, cwd: 'modules', src: ['*.js'], dest: 'es5Modules' }] } } |
ÏÖÔÚÄã¿ÉÒÔÔÚ¿ØÖÆÌ¨ÀïʹÓÃÏÂÃæµÄÃüÁîÀ´ÔËÐÐÉÏÃæµÄGruntÈÎÎñ£º
ÕýÈçÄãËù¿´¼ûµÄÄÇÑù£¬ËüºÍÎÒÃÇʹÓÃÃüÁîËù²úÉúµÄЧ¹ûÊÇÒ»ÑùµÄ¡£
½áÂÛ
ÈκÎÒ»¸ö´óÐÍÓ¦ÓÃÖУ¬Ä£¿é»¯Ê®·Ö±ØÒª¡£ES6Ä£¿éΪJavaScriptÌṩÁ˸ÃÌØÐÔ£¬ÕâЩģ¿éÌṩÁËÖÚ¶àÑ¡ÔñÀ´µ¼³öºÍÒýÈë¶ÔÏó¡£ÎÒºÜÆÚ´ý¸ÃÌØÐÔ±»ä¯ÀÀÆ÷Ö§³ÖµÄÄÇÒ»Ì죬µ½Ê±ÎÒÃÇÎÞÐè¼ÓÔØÈκεÚÈý·½¿â¼´¿É´´½¨¡¢¼ÓÔØJavaScriptÄ£¿é¡£Ä¿Ç°Á÷ÐеĿͻ§¶ËMV*¿ò¼ÜAngular.jsÔÚÆä2.0°æ±¾£¨Ä¿Ç°»¹ÔÚ¿ª·¢ÖУ©ÖоÍʹÓÃÁËES6µÄÄ£¿é»¯¡£
ÈÃÎÒÃÇ¿ªÊ¼Ê¹ÓÃÄ£¿éϵͳ£¬´Ó¶øÈÃÎÒÃǵĴúÂë¸ü¾ß×éÖ¯ºÍ¿É¶ÁÐÔ¡£ |