ÕªÒª£º±¾ÎÄ´ÓES2015¡¢Ä£¿éºÍ¹¹½¨¹¤¾ß¡¢²âÊÔ¡¢¹ý³Ì×Ô¶¯»¯¡¢´úÂëÖÊÁ¿¡¢Git¡¢¿Í»§¶ËÄ£°å¡¢NodeµÈ·½ÏòÈ«Ãæ½éÉÜÁËǰ¶Ë¿ª·¢Õß±ØÐëÁ˽âÓëÕÆÎյļ¼ÊõÓ빤¾ß¡£ÓÈÆä¶ÔÓÚJS¿ª·¢Õߣ¬ÊÇÒ»·ÝºÜºÃµÄ¿ª·¢Ö¸ÄÏ¡£
¡¾±àÕß°´¡¿¸Ðлlenville¶Ô¡¶A Baseline for Front-End [JS] Developers: 2015¡·µÄ·Ò룬¸ÃÎÄÕÂÈ«Ãæ¶øÏµÍ³µØ½éÉÜÁËǰ¶Ë¿ª·¢ÕßËùÓ¦ÕÆÎյĹؼü¼¼Êõ¼°×îÁ÷ÐС¢ÊµÓõŤ¾ß£¬ÓÈÆä¶ÔÓÚJS¿ª·¢Õß´óÓÐñÔÒæ¡£
´óÔ¼ÈýÄêǰ£¬ÎÒдÁËһƪ¡¶ ǰ¶Ë¿ª·¢ÕߵĻù±¾¼¼ÄÜ¡·£¬àÅ£¬ÄÇ´ó¸ÅÊÇÎÒ×î³öÃûµÄһƪÎÄÕ¡£ÈýÄêºó£¬ÈÔÈ»ÓÐÈËÔÚTwitterÉÏÎÒѯÎÊÈçºÎ¿ªÊ¼Ñ§Ï°Ç°¶Ë֪ʶ¡£
ÔÚijÖ̶ֳÈÉÏ£¬ÎÒÔø¾Ð´ÏµÄÎÄ×ÖÀú¾ÁËʱ¼äµÄ¿¼Ñ飺ÁîÎҸе½Õ𾪵ÄÊÇ£¬2012ÄêÎÒдµÄÄÇÆªÎÄÕ²¢Ã»¸øÎÒ´øÀ´ÄÑ¿°µÄÎÊÌâ¡£¾¡¹ÜÈç´Ë£¬3ÄêÖ®¾Ã£¬ºÜ¶àÊÂÇé¶¼±äµÃÓëÖÚ²»Í¬¡£2012ÄêÎÒ¹ÄÀøÈËÃÇѧϰä¯ÀÀÆ÷¿ª·¢¹¤¾ß£¬½ô¸úÄ£¿é»¯¿ª·¢´ó³±£»ÄÇʱºòÈËÃÇ»¹²»Ì«½ÓÊÜCSSÔ¤´¦ÀíºÍ¿Í»§¶ËÄ£°åÕâÀàÐÂÊÂÎËüÃÇÈÔȻֵµÃÒ»Ì᣻Ïà±ÈÓÚJSLintïÅîù±Ø½ÏµÄ¾«È·£¨ÉõÖÁÈÃÈ˸е½Ñá·³£©£¬JSHint·Ç³£ÊÜ»¶Ó£¬ËüʹÎÒÃdz¹µ×½â·Å¡£
ÏÖÔÚʱ¼äÀ´µ½ÁË2015Ä꣬ÎÒÏëдһ¸öÉý¼¶°æµÄǰ¶ËÖ¸ÄÏ£¬µ«Êǵ±ÎÒ×øÏ¶¯±Ê¿ªÊ¼Ð´µÄʱºò£¬ÎÒͻȻÒâʶµ½Á½¼þÊÂÇ飺
Ïà¶ÔÀ´Ëµ£¬³ÆÕâÆªÎÄÕÂΪ»ù±¾¼¼ÄÜÊDz»¹«Æ½µÄ£¬Èç¹ûÄã»ØÒäÆðÒÔǰµÄÎÄÕ£¬Äã»á·¢ÏÖÕâÆªÎÄÕ··ðÆ«ÀëÁË»ù´¡¡£ÈËÃÇ¿ÉÄÜ»áÕù±ç˵£¬ÎÒÃÇÓ¦¸Ã¿¼ÂÇÄÇЩÄÜÈÃÎÒÃÇÕÒµ½¹¤×÷µÄ¼¼ÄÜÀ´×÷Ϊ»ù±¾¼¼ÄÜ¡£µ«ÊÇÊÂʵÉÏ£¬Êг¡ÉÏÓкܶàǰ¶ËµÄ¹¤×÷¿ÉÒÔÑ¡Ôñ£¬ÎªÁ˵õ½Ò»·Ý¹¤×÷Äã²¢²»ÐèҪ̫¶àµÄ»ù´¡¡£ÓÚÎÒ¶øÑÔ£¬ÎÒ²¢²»Ïë¼òµ¥ÕÒÒ»·Ý¹¤×÷ÁËÊ£¬ÎÒÏ£Íû²ÎÓëµ½Ò»·Ý¾øÃîµÄ¹¤×÷ÖÐÈ¥£»ÎÒ²»Ïë¼òµ¥¹¤×÷¾Í¶È¹ýÒ»ÕûÌ죬ÎÒÏ£ÍûÄܹ»ÓëÓвÅÄܵÄÈËÒ»Æð¹¤×÷£»ÎÒ²»Ïë´ÓÊÂÄÇЩÒѾ±»´óÖÚËùÊìÖªµÄ£¬×øÔÚÕâÀïÉÔ×÷˼¿¼£¬Ô¤¼Æ²î²»¶àÃ÷Ìì֮ǰ¾Í¿ÉÒÔÍê³ÉµÄÄÇÖÖ¹¤×÷£¬ÎÒÏ£Íû´ÓÊÂÄÇЩ£¬ÒòΪÎÒÖªµÀÈçºÎÈ¥¹¤×÷£¬ÎÒÄÜÔÚÃ÷Ìì֮ǰ×êÑгöÒ»¸ö³É¹û£¬ËùÒÔÎÒÃ÷Ìì¿ÉÒÔ˳ÀûÍê³ÉÈÎÎñµÄ¹¤×÷£¬¶Ô£¬¾ÍÊÇÓÐÌôÕ½µÄÄÇÖÖ£¡
ÎÒµÄÊÀ½çÕýÔÚ±äµÃ³¹µ×ÒÔJavaScriptΪÖÐÐÄ£º³ýÁËһЩ±ØÒªµÄÐÔÄÜÓÅ»¯£¬ÎÒµÄÈÕ³£¹¤×÷½Ó´¥µ½µÄCSS֪ʶԽÀ´Ô½ÉÙ¡£ÎÒÖªµÀÓÐÐí¶à·Ç³£´ÏÃ÷µÄǰ¶Ë¿ª·¢Õߣ¬ËûÃǵÄJSºÍCSS¼¼Äܶ¼ºÜÀ÷º¦£¬µ«ÊǸù¾ÝÎҵĹ۲죬רעÑо¿JavaScriptºÍרעÑо¿CSSµÄÈËÃÇÕýÔÚÖð½¥·ÖÀë¡£ÎÒ´ó¸Å¿ÉÒÔдÁíÍâһƪ²©ÎÄÀ´²ûÊöÕâ¸ö»°Ì⣬µ«ÔÚÕâÀïÎÒÖ»Ïë˵£ºÎÒûÓÐ×ö¹ý¶àÓйØCSSµÄ×¼±¸£¬ËùÒÔ²»Òª¶ÔÕâÒ»µã±§Óйý¶àµÄÆÚÐí¡£
¼ò¶øÑÔÖ®£ºµ±ÄãÒÔÄãµÄǰ¶ËÊÀ½çµÄÊÓ½ÇÀ´ÔĶÁÕâÆªÎÄÕ£¬²»Ò»¶¨ÄÜÕÒµ½ÄãÐèÒªµÄÄÚÈÝ¡£µ«Çë½÷¼Ç£¬ÎÒÃǶ¼ÊǺܰôµÄ¿ª·¢Õߣ¡

JavaScript
¼ÇÒ仨µ½2009Ä꣬Èç¹ûÄãÔÚÎÄÕÂÀï¶Áµ½ÀàËÆ¡°HTML5½«»áÔÚ2014Ä궨¸åʹÓá±µÄÔ¤ÑÔ£¬ÊÇ·ñ¿´ÆðÀ´ÄÇÒ»Ì컹ºÜÒ£Ô¶£¿Èç¹ûµ±Ê±ÄãÕâÑùÏ룬Ä㽫Ҫ׼±¸ºÃÓ½Ó»ºÂý¸üе«ÊÇÎȲ½ÏòǰµÄES6£¨ÏÖÔÚ±»³ÆÎª ES2015£¬Õâ¸öÃû³ÆÒÑ¾Ëæ´¦¿É¼û£©£¬Ò²¾ÍÊÇÏÂÒ»¸ö°æ±¾µÄJavaScript¡£×¼±¸ÓëES6¡ª¡ª°¡²»¶Ô£¬ES2015¡ª¡ª½Ó¹ì°É£¬ºÁÎÞÒÉÎÊ£¬ÕâÊǽÓÏÂÀ´ÔÚJavaScriptÁìÓòÖÐ×îÖØÒªµÄÊÂÇé¡£ES6 classes¡¢ÕæÕýµÄÒþ˽¡¢¸üºÃµÄº¯ÊýºÍ²ÎÊý¡¢¿ÉÒýÈ루import£©µÄÄ£¿éÒÔ¼°Ðí¶àÆäËüÌØÐÔ£¬Ò»¶¨»á³¹µ×¸Ä±äÓÎÏ·¹æÔò¡£ÄÇЩÄÜÁ¦Ê®×ã²¢ÇÒÊ®·Ö¸ß²úµÄÐÂÓï·¨ÎÞÒɽ«»á³¹µ×´ÓJSÉçÇøÖÐÔÐÓý³öÀ´¡£Îª´Ë£¬ÄãÐèÒªÔĶÁ£º
- Àí½âES6£¬Ò»±¾Nicholas ZakasÕýÔÚ׫дµÄÊé¼®£¬Ä¿Ç°ÒÑ¿ªÔ´¡£
- BabelJS£¬Ò»¸öÔÊÐíÄã±àдES6´úÂë²¢½«Æä±àÒëΪ¿ÉÒÔÔÚÊÐÃæä¯ÀÀÆ÷ÖÐÔËÐеÄES5µÄ¹¤¾ß¡£ËûÃÇ»¹ÓÐÒ»¸ö·Ç³£°ôµÄ ѧϰÕ½ڡ£
- ES6 Rocks£¬Óкܶà̽Ë÷ES6ÌØÐÔ¡¢ÓïÒåºÍ¿ÓµÄÎÄÕ¡£ÄãÊÇ·ñÐèÒª³ÉΪһλES6/ES2015ר¼Ò£¿»òÐíÏÖÔÚ²»ÐèÒª£¬µ«ÄãÖÁÉÙÓ¦¸ÃÁ˽â×ã¹»¶à»òÕ߸ü¶àÓйØES6µÄ֪ʶ²ÅÄܲ»ÂäºóÓÚÄãµÄͬÐС£ÄãÔÚ¿ª·¢ÏÂÒ»¿îÐÂÏîÄ¿µÄʱºò£¬³¢ÊÔÒ»ÏÂES6°É£¬Î´À´½üÔÚÑÛǰ£¬Ö»´ýÄãÈ¥²¦¿ªËüµÄÃæÉ´¡£
еÄÓïÑÔÌØÐÔÏÈÔÝÇÒ²»Ì¸£¬ÄãÓ¦¸ÃÄܹ»Á÷ÀûµØËµ³öJavaScriptµÄÒ첽ģʽ£¬²¢ÇÒʹÓûص÷ºÍpromiseÀ´¹ÜÀíËü¡£¹ØÓÚÔÚä¯ÀÀÆ÷ÖмÓÔØÓ¦Óò¢ÔÚÿ¸öÓ¦ÓÃÖ®¼äͨÐŵIJßÂÔ£¬ÄãÓ¦¸ÃÓµÓÐ×ã¹»Í걸µÄ¼û½â¡£ÄãÒ²ÐíÓ¦¸ÃÕÆÎÕÒ»¸öÄã·Ç³£Ï²»¶µÄÓ¦Óÿª·¢¿ò¼Ü£¬Í¬Ê±Ò²Ó¦¸Ã¶ÔÆäËüµÄ¿ò¼ÜÊÇÈçºÎÔËÐеÄÓÐÒ»¸ö¸ÅÀÀ£¬ÄãÐèÒªÉÔ×÷ȨºâÑ¡ÔñÄãϲ»¶µÄÄÇÒ»¸ö¡£
Ä£¿éºÍ¹¹½¨¹¤¾ß
ºÁÎÞÒÉÎÊ£¬Ä£¿éÓ¦µ±Êǿͻ§¶ËWebÓ¦ÓõĹ¹½¨ÔªËØ¡£»Øµ½2012Ä꣬¹ØÓÚʹÓÃʲôÀàÐ͵ÄÄ£¿éÀ´¹¹½¨ä¯ÀÀÆ÷Ó¦ÓõÄÌÖÂÛ´ËÆð±Ë·ü£¬²»¹ý»ù±¾Î§ÈÆ×Å AMDºÍ CommonJSÕ¹¿ª¡£»¹ÓÐÒ»¸öÂÔÏÔ´ÖË×µÄ UMD°ü×°Æ÷³¢ÊÔÈں϶þÕßÀ´·½±ã´ó¼ÒÖØÓôúÂ롪¡ªËûÃÇÈÏΪ£¬¼ÈÈ»³¤µÃ²î²»¶à£¬²»Èç¶àдµã¶ù´úÂëÀ´Í¬Ê±Ö§³Ö¶þÕß¡£
ÎÒÈÏΪÕⳡÕùÂÛûÓÐÒ»¸öͳһµÄ½áÂÛ£¬µ«ÊÇÎҸоõÕâÊÇ×Ô2012ÄêÎÒдÎÄÕÂÖ®ºó£¬Õâ¸öÁìÓòÖÐ×î´óµÄת±ä£¬µ±È»ÕâÒ²¿ÉÄÜÖ»ÊÇÎÒ¸öÈ˵ÄÐÄ·Àú³Ì¡£ÎÒûÓг¹µ×¸ã¶¨AMD£¬µ«ÊÇÎÒ±»ËüµÄʵÓÃÐÔÕ÷·þÁË£¬Äã¿ÉÒÔʹÓÃCommonJS¿ª·¢²¢²¿ÊðWebÓ¦Óã¬Ê¹ÓÃnpmÒýÈëÄ£¿é¡£
RequireJSΪģ¿éͨÐÅ×öÁ˺ܴóµÄ¹±Ï×£¬³öÓÚ¶ÔËüµÄºñ°®£¬ÎÒÏÖÔÚÓеã¶ùÃÔÁµW ebpackÁË¡£webpackµÄ¹¦ÄÜ¡ª¡ªÀýÈçÈÝÒ×Àí½âµÄ¹¹½¨²ÎÊý£¨ÒëÕß×¢£ºbuild flag£¬ÃüÁîÐÐÖÐÐÎÈç-pµÄ²ÎÊý£©¡ª¡ªÏà±ÈÓÚRequireJSÀ´Ëµ¸üÈÝÒ×Àí½â¡£Í¨¹ýËüµÄÄÚ½¨¿ª·¢·þÎñÆ÷ʵÏÖµÄÈȽ»»»¹¹½¨´òÔìÁËÒ»¸ö¿ìËÙÇÒÁîÈËÓäÔõĿª·¢´«Ææ¡£Ëü²¢²»Ç¿ÖÆÄãʹÓÃAMD»òÕßCommonJS£¬ÒòΪËüͬʱ֧³ÖÁ½Õß¡£»¹Óзdz£¶àµÄ¼ÓÔØÆ÷£¬Ê¹µÃÍê³ÉÐí¶àÏàͬ¹¤×÷¶ÔËüÀ´Ëµ¼òÖ±ÊÇСÒâ˼¡£ÄãÒ²¿ÉÒÔÈ¥Á˽âһϠBrowserify£¬µ«ÔÚÎÒ¿´À´£¬Ò»¶¨ÒªÔÚÊìϤÁËWebpackÖ®ºóÔÙÈ¥¸ãËü£¬ÎÒÐÅÈεĴÏÃ÷È˶ù¸æËßÎÒ£¬ systemjsÔÚÕâ¸öÁìÓòÒ²ÊÇÒ»¸öµÄÈÏÕæµÄ¾ºÕùÕߣ¬µ«ÊÇÎÒ»¹Ã»ÓÃËüÄØ£¬ËüµÄÎĵµÈÃÎÒºÜÏë°Ý¶Á¡£ËüµÄ°ü¹ÜÀíÆ÷ jspmºÜÃÔÈË£¬ÔÊÐíÄã´Ó°üÀ¨npmÔÚÄڵIJ»Í¬µÄÔ´ÀÈ¡ËùÐèµÄÄ£¿é£¬µ«ÊÇÎÒÓеã¶ùµ£ÐÄÕâÁ©»õ½áºÏÆðÀ´»áÓÐЩÎÊÌâ¡£ÎÒ²»µÃ²»Öظ´£¬ÎÒ´ÓûÏë¹ýÎÒ»áÓëAMD·Ö¿ª£¬µ«ÊÇ¿´ÆðÀ´ÎÒ²»µÃ²»·ÅÆúËüÁË£¬ÎÒÃÇÖÕ½«»á¿´µ½ÕâÊÂÇéµÄ·¢Éú¡£
ÎÒÈÔÈ»¿ÊÍûÓÐÒ»ÌìÎÒ¿ÉÒÔÍ£Ö¹à©à©²»ÐݵØÕùÂÛÓйØÄ£¿éºÍ¹¹½¨¹¤¾ßµÄ»°Ì⣬ÄÇʱºòÈ«ÊÀ½çÖ»ÓÐÒ»¸öÄ£¿éϵͳ£¬ÕâÑù¾Í¿ÉÒÔÔÚËùÓÐÏîÄ¿Àï¹²ÏíʹÓôúÂ룬ͬʱ»¹ÄÜÃâȥʹÓÃUMDµÄ¿ªÏú¡£ÀíÏëÇé¿öÏ£¬ÄÇÒ»Ì콫»áÒòΪES6Ä£¿é¶ø±äΪÏÖʵ¡ª¡ªÔÚÕâÒ»Ììµ½À´Ç°Äã¿ÉÒÔʹÓÃתÒëÆ÷£¨Transpiler£©À´Ìî²¹¿Õȱ¡ª¡ªµ«ÎÒ·¢ÏÖºÜÓпÉÄÜÎÒÃÇ»á³ÖÐø²»¶ÏµØÕÒһЩ·½·¨ÈÃËü±äµÃÓú·¢¸´ÔÓ¡£
Óë´Ëͬʱ£¬Ç°¶Ë¿ª·¢ÕßÐèÒªÁ˽âÖÁÉÙÒ»¶Ô¹¹½¨¹¤¾ßºÍÏà¹ØµÄÄ£¿éϵͳ£¬ÕâÐèÒªÔÚʵ¼ùÖв»¶Ï»ýÀÛ¾Ñé¡£²»¹ÜÔõÑù£¬¾ÍĿǰJavaScriptµÄ·¢Õ¹Çé¿öÀ´Ëµ£¬ÄãÈÔÈ»ÐèҪѡÔñÒ»¸öÄ£¿éϵͳ£¬Ëü½«Ö§³ÅÄãµÄÿһ¸öÏîÄ¿¡£
²âÊÔ
һЩеIJâÊÔ¿ò¼Ü£¬ÀýÈç KarmaºÍ Intern£¬ÒѾÈÿͻ§¶Ë´úÂëµÄ²âÊÔ±äµÄÇá¶øÒ×¾Ù¡£ÎÒ·¢ÏÖIntern»ùÓÚpromiseÀ´½øÐÐÒì²½²âÊԵķ½·¨Ìرð£¨×÷Õ߯´´íÁËparticulary£©Ë¬£¬ÎÒ²»µÃ²»³ÐÈÏ£¬´ó¶àÊýʱºòÎÒÒÀÈ»ÓÃMochaÀ´Ð´²âÊÔ¡ª¡ªÓÐʱÎÒ»¹Õæ¾ÍÊÇÇüÓÚϰ¹ßµÄÉúÎï°¡¡£
²âÊÔ¹ý³ÌÖеÄÖ÷Òª×è°ÊÇǰ¶Ë¿ª·¢ÕßÇãÏòÓÚдµÄ´úÂ룬¹ØÓÚÕâ¸öÎÊÌ⣬ÎÒÔÚ2012ÄêÄ©¹«¿ªÌ¸ÂÛÁËÓÐ¹Ø ±àд¿É²âÊÔµÄJavaScriptµÄ»°Ì⣬¼¸¸öÔºóËæ¼´Ð´ÁËһƪÓйØÕâ¸ö»°ÌâµÄÎÄÕ¡£
²âÊÔ¹ý³ÌÖеڶþ¸ö´óµÄ×è°Êǹ¤¾ß»¯£¬WebÇý¶¯ÈÔÈ»ÊÇÄãÐèÒª´¦ÀíµÄ¾Þ´óÉËÍ´¡£Ò»¸ö¸´ÔÓUIÔÚËùÓÐÖ§³Öƽ̨ÉϵijÖÐø×Ô¶¯»¯²âÊÔÒÀÈ»²»¿ÉÐУ¬¼´Ê¹¿ÉÐпªÏúÒ²·Ç³£¾Þ´ó£¬ÒÔÖÂÓÚÄÇ¿´ÆðÀ´¸ù±¾²»¿ÉÄÜʵÏÖ¡ª¡ª¸ü±ðÌáÒÆ¶¯¶ËÁË¡£ºÜ´ó³Ì¶ÈÉÏÎÒÃÇÈÔÈ»¾ÖÏÞÓÚÔÚä¯ÀÀÆ÷¡¢É豸¡¢²Ù×÷ϵͳ½áºÏµÄÖ§³Öƽ̨µÄºÜСµÄÒ»¸ö×Ó¼¯ÉÏ×öһЩÇáÁ¿¼¶×Ô¶¯»¯¹¦ÄܲâÊÔ£¬²¢ÇÒÔ½À´Ô½ÄÑÒÔÒÀÀµ¿ÉÒÔ¿ìËÙ¡¢±ãÒ˵ØÔËÐеĵײã²âÊÔ¡£ÓÐʱºòÏëÏëÕâ¸öÎÊÌâ¾Í¾õµÃ×Ô¼ºÈõ±¬ÁË¡£
Èç¹ûÄã¶Ô¸Ä½øÎ´¾¼ìÑ飨²»¿É²âÊÔ£©µÄ´úÂëÎÊÌâ¸ÐÐËȤ£¬ÓÐÒ»±¾Êé·Ç³£ÖµµÃÒ»¶Á£º Working Effectively with Legacy Code£¬×÷ÕßMichael Feathers½«¡°ÒÅÁô´úÂ롱¶¨ÒåΪÈκÎûÓвâÊԵĴúÂ룬ÔÚ²âÊԵϰÌâÉÏ£¬Î¨Ò»µÄµ×ÏßÊǽÓÊÜÕâһ˵·¨µÄÕæÊµÐÔ£¬¼´Ê¹ÆäËüÔ¼Êø»á×èÖ¹Äã½â¾öËü¡£
¹ý³Ì×Ô¶¯»¯
ÄãºÜÓпÉÄÜÈÏΪ GruntÊÇÈÎÎñ×Ô¶¯»¯¹¤¾ßµÄ²»¶þÑ¡Ôñ£¬ GulpºÍ BroccoliÌṩÁËÒ»¸ö²»Í¬µÄ·½·¨À´½øÐÐ×Ô¶¯¹¹½¨¡£ÎÒûÓùýBroccoli£¬²¢ÇÒÎÒֻdz³¢ÁËÒ»ÏÂGulp£¬¼´Ê¹GruntÓÐÒ»¶¨µÄ¾ÖÏÞÐÔ£¬µ«ÎÒ¾ø¶ÔÒª¸ÐлËüÒÀ¿¿ÆäËü·þÎñ°ïÖúÎҰѸ´ÔÓÈÎÎñ×Ô¶¯»¯¡ª¡ªÓÈÆäÿÌìÒªÔËÐÐÉÏǧ´ÎÈÎÎñµÄʱºò¡£
YeomanÔÚÎÒ2012ÄêдÎÄÕÂÖ®ºóµÄ45Ìì¾Í·¢²¼ÁË¡£ÎÒ³ÐÈÏËü¸ÕÒ»³öÀ´Ê±ÎÒ²¢Ã»ÓÐÓÃËü£¬µ«×î½üÎÒ£¨Óò»ÊìϤµÄ¼¼Êõ´ÓÖ½Éϲݸ忪ʼһ¸öÏîÄ¿£©³¢ÊÔÕÒ³öÈçºÎ±ê×¼»¯ÎÒÃÇÔÚBazaarvoiceƽ̨ÉÏ¿ª·¢µÚÈý·½JSÓ¦Óõķ½·¨£¬YeomanµÄÈ·ÔÚÕâЩ°¸ÀýÖÐÉÁÉÁ·¢¹â¡£ÔÚÃüÁîÐÐÖÐÊäÈëÒ»¸ö¼òµ¥µÄyo react-webpack¾Í¿ÉÒÔΪÄã´´½¨Ò»Õû¸öÐÂÏîÄ¿£¬ÏîÄ¿ÀïµÄÄãÏëÒªµÄÓ¦Óо¡ÓСª¡ª²âÊÔ¡¢¿ª·¢·þÎñÆ÷¡¢Ò»¸öHello WorldÓ¦Óã¬ÒÔ¼°¸ü¶à¡£Èç¹ûReactºÍWebpack²»ÊÇÄãµÄ²Ë£¬¿ÉÄÜÒ»¸öÉú³ÉÆ÷¾Í¿ÉÒÔÂú×ãÄãµÄÐèÇó£¬Í¬Ñù£¬Äã¿ÉÒÔºÜÇáËɵشòÔì×Ô¼ºµÄÉú³ÉÆ÷¡£
¿¼Âǵ½YeomanÊÇÒ»¸öÄãͨ³£Ö»ÔÚÏîÄ¿¿ªÊ¼µÄʱºòʹÓõŤ¾ß¡£²¢ÇÒ¿¼Âǵ½Äã²»×ܻῪʼеÄÏîÄ¿£¬ËüÖ»ÊÇÒ»¸öÖµµÃÁ˽âµÄ¹¤¾ß¡£µ±È»ÁË£¬Èç¹ûÄãÕýÔÚ¿çÔ½ÏîÄ¿³¢ÊÔ±ê×¼»¯Êµ¼ù£¬ÄÇôËü»òÐí»¹ÓÐÄÇôһЩ¼ÛÖµµÄ¡£
Broccoli×÷Ϊember-cliµÄºËÐı»Î¯ÒÔÖØÈΣ¬ÎÒÐÅÈεÄÈËÃÇ˵ÕâÒ»¶Ô¶ù½«À´»áÓдó×÷Ϊ£¬»¹»á¸ÄÒ»¸öеÄÃû×Ö£¬ÔÚδÀ´»áÖð²½Ìæ´úGrunt/Yeoman×éºÏ¡£Ê¹ÓÃGruntºÍYeoman×éºÏ½øÐпª·¢µÄÈ·»á½¥½¥µ³öÈËÃǵÄÊÓÒ°£¬ËùÒÔÎÒÃÇÒ»Æð¿´¿´Î´À´ÄÜ´øÀ´Ê²Ã´ÓÐȤµÄ¶«Î÷¡£
´úÂëÖÊÁ¿
Èç¹ûÄãÏñÎÒÒ»Ñù£¬µ±ÄãÖ»Òª¿´µ½´úÂëÎ¥·´ÁËÏîÄ¿Á¼ºÃµÄÎĵµ·ç¸ñÖ¸ÄÏʱ¾ÍÇé²»×Ô½û¿ªÊ¼³é´¤£¬ÄÇôÏñ JSCSºÍ ESLintÕâÑùµÄ¹¤¾ß¼òÖ±ÊÇÌì´ÍÖ®Îï¡£2012ÄêµÄʱºòËûÃǶ¼»¹Ã»ÓгöÏÖÄØ£¬ËûÃǶ¼ÌṩÁËÒ»¸ö¸ñʽ»¯ÄãµÄÑùʽָµ¼¹æÔòµÄ·½·¨£¬È»ºóÔÚÄã´´½¨Ò»¸öpull request֮ǰ×Ô¶¯µØ°´ÕÕ¹æÔòУÑéÄãµÄ´úÂ룬˵µ½Õâ¶ùÎÒÃǾͲ»µÃ²»ÌáGitÁË¡£
Git
ÎÒÈÏΪ×Ô´Ó2012ÄêÒÔÀ´£¬ÊÀ½ç·¶Î§ÄÚµÄGit¹¤×÷Á÷ûÓÐÌ«´óµÄ±ä»¯£¬»°Ëµ»ØÀ´£¬Github pull requestÒ³ÃæÉÏÈÔȻûÓиø·ÖÖ§Ãû¼ÓÉÏÁ´½Ó£¬ËÖªµÀÊÇÒòΪʲôÌìɱµÄÔÒò¡£
ºÜÏÔÈ»£¬ÔÚÌØÐÔ·Ö֧Ϲ¤×÷ÄãÓ¦¸Ã¸Ðµ½·Ç³£ÊæÊÊ£¬½«ÄãÓëËûÈ˵Ť×÷³É¹û½øÐÐÑܺϣ¨rebase£©£¬½èÖú½»»¥Ê½ÑܺϹ¤¾ßÀ´¸Äд£¨squash£©Ìá½»£¬¶øÇÒÔÚСµÄµ¥ÔªÀ﹤×÷²»Ì«¿ÉÄܵ¼ÖÂËæÊ±¿ÉÄܲúÉúµÄ³åÍ»¡£ÁíÒ»¸ö±Ø±¸µÄGit¹¤¾ßµÄÊǹ³×Ó£¨hooks£©¡ª¡ªÄãÓÈÆäÐèÒªÔ¤ÍÆËͺÍÔ¤Ìá½»¹³×ÓÀ´ÔËÐÐÄãµÄ²âÊÔ°¸Àý²¢Ö´ÐÐËùÓдúÂëµÄÖÊÁ¿¼ì²é¡£Äã¿ÉÒÔ×Ô¼ºÐ´ÕâЩ¹³×Ó£¬µ«ÀàËÆÓÚ ghooksÕâÑùµÄ¹¤¾ß¿ÉÒÔ°ïÄãÍê³ÉÕâЩ·±ÔӵĹý³Ì£¬ÄãûÓÐÀíÓɲ»½«ËûÃǼ¯³Éµ½ÄãµÄ¹¤×÷Á÷ÖÐÈ¥¡£
¿Í»§¶ËÄ£°å
¶ÔÓÚһЩ¡°´íÎ󡱵͍Òå¿ÉÄÜÊÇÎÒÔÚÒÔǰµÄÎÄÕÂÖз¸ÏµÄ×î´óµÄ´íÎ󡣿ͻ§¶ËÄ£°åÈÔÈ»ºÜÓмÛÖµ£¬ºÁÎÞÒÉÎÊ¡ª¡ªËüµÄ¼ÛÖµ¸ßµ½Ëü½«»áÄÚ½¨µ½ES2015ÖÐÈ¥¡ª¡ªµ«¹ý¶ÈÀÄÓÃÒÀÈ»»áÓв»ºÃµÄºó¹û¡£Ðí¶àÍŶӽ«ËùÓеÄäÖȾ¹¤×÷×ªÒÆµ½ä¯ÀÀÆ÷ÖУ¬¼«´óµÄÐÔÄÜ¿ªÏúʹµÃÕâÖÖ¡°¿Í»§¶ËÉú³ÉËùÓÐHTML¡±µÄ·½·¨Öð½¥Ê§³è£¬ÕâÊÇÀ´Ö®²»Ò׵ĽÌѵ¡£³ÉÊìµÄÏîÄ¿ÏÖÔÚ¶¼ÔÚ·þÎñÆ÷¶ËÉú³ÉHTML¡ª¡ªÉõÖÁ»¹Ô¤Éú³ÉËü£¬½«Ëü´æ´¢Îª¾²Ì¬Îļþ¿ÉÒÔ¿ìËÙÏìÓ¦Ìṩ·þÎñ¡ª¡ªÈ»ºóÔÚ¿Í»§¶ËÖð²½²¹³äÕâ¸öHTML£¬µ±Ê¼þ´¥·¢µÄʱºòÓÿͻ§¶ËÄ£°å¸üÐÂËü¡£
ÎÒÏ£ÍûÎÞÂÛ¶ÔÓÚÄ㻹ÊÇÎÒ×Ô¼º£¬ÔÚ¿¼Âǵ½×Ô¼ºµÄ¾ö²ß¶ÔÓÚÐÔÄܵÄÓ°Ïìʱ£¬²»½ö¾ÖÏÞÓÚä¯ÀÀÆ÷ÁìÓò£¬ÕâÒ²¾ÍÊÇÎÒ½ÓÏÂÀ´ÒªÌ¸µ½µÄ¡¡
Node
Äã˵ÄãºÜÁ˽âJavaScript£¬ËùÒÔ½ÓÏÂÀ´µÄʱ¼äÎÒÆÚ´ýÄãÄܹ»ÉîÈëÑо¿Node£¬Èç¹ûÄãÖªÖ®ÉõÉÙ£¬ÄÇÄãÆðÂëÐèҪͶÈëÒ»µã¾«Á¦È¥Á˽âËü¡£µÄÈ·£¬NodeÊÀ½çÀïÓÐһЩÓйØÎļþϵͳ¡¢Á÷¡¢·þÎñÆ÷µÄ֪ʶ£¬ÉõÖÁ»¹ÓÐһЩÍêÈ«Óëǰ¶Ë¿ª·¢²»Ò»ÑùµÄ·¶Ê½£¬µ«×÷Ϊǰ¶Ë¿ª·¢Õߣ¬Èç¹ûÄã°ÑÕâЩ±¦¹óµÄ²Æ¸»¾ÜÖ®ÃÅÍ⽫»á¼«´óµØÏÞÖÆÄãµÄDZÁ¦¡£
¼´Ê¹Äãʵ¼Ê¿ª·¢µÄ²úƷûÓÐʹÓÃNode×÷ΪÏîÄ¿µÄºó¶Ë£¬ÄãÈÔÈ»¿ÉÒÔÀûÓÃËüÀ´Ä£Äâºó¶Ë·þÎñµÄ״̬À´¾¡¿ìÍê³Éǰ¶Ë¿ª·¢¡£×îÆðÂëµÄ£¬ÄãÓ¦¸ÃÊìϤÈçºÎ ³õʼ»¯Ò»¸öNodeÏîÄ¿£¬ÈçºÎÅäÖÃÒ»¸ö Express·þÎñÆ÷ºÍ·ÓÉ£¬ÒÔ¼°ÈçºÎʹÓà requestÄ£¿éÀ´´úÀíÇëÇó¡£
|