¸üÐÂʱ¼ä:2021Äê10ÔÂ07ÈÕ16ʱ14·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

ÔÚ ES6 Ä£¿é»¯¹æ·¶µ®Éú֮ǰ£¬JavaScript ÉçÇøÒѾ³¢ÊÔ²¢Ìá³öÁË AMD¡¢CMD¡¢CommonJS µÈÄ£¿é»¯¹æ·¶¡£µ«ÊÇ£¬ÕâЩÓÉÉçÇøÌá³öµÄÄ£¿é»¯±ê×¼£¬»¹ÊÇ´æÔÚÒ»¶¨µÄ²îÒìÐÔÓë¾ÖÏÞÐÔ¡¢²¢²»ÊÇä¯ÀÀÆ÷Óë·þÎñÆ÷ͨÓõÄÄ£¿é»¯±ê×¼£¬ÀýÈ磺
¢ÙAMD ºÍ CMD ÊÊÓÃÓÚä¯ÀÀÆ÷¶ËµÄ Javascript Ä£¿é»¯
¢ÚCommonJS ÊÊÓÃÓÚ·þÎñÆ÷¶ËµÄ Javascript Ä£¿é»¯
Ì«¶àµÄÄ£¿é»¯¹æ·¶¸ø¿ª·¢ÕßÔö¼ÓÁËѧϰµÄÄѶÈÓ뿪·¢µÄ³É±¾¡£Òò´Ë£¬´óһͳµÄ ES6 Ä£¿é»¯¹æ·¶µ®ÉúÁË!
ES6 Ä£¿é»¯¹æ·¶ÊÇä¯ÀÀÆ÷¶ËÓë·þÎñÆ÷¶ËͨÓõÄÄ£¿é»¯¿ª·¢¹æ·¶¡£ËüµÄ³öÏÖ¼«´óµÄ½µµÍÁËǰ¶Ë¿ª·¢ÕßµÄÄ£¿é»¯Ñ§Ï°³É±¾£¬¿ª·¢Õß²»ÐèÔÙ¶îÍâѧϰ AMD¡¢CMD »ò CommonJS µÈÄ£¿é»¯¹æ·¶¡£
ES6 Ä£¿é»¯¹æ·¶ÖÐÿ¸ö js Îļþ¶¼ÊÇÒ»¸ö¶ÀÁ¢µÄÄ£¿é£¬µ¼ÈëÆäËüÄ£¿é³ÉÔ±ÐèҪʹÓà import ¹Ø¼ü×Ö£¬ÏòÍâ¹²ÏíÄ£¿é³ÉԱʹÓà export ¹Ø¼ü×Ö¡£
ÔÚnode.jsÖÐÎÒÃÇ¿ÉÒÔÌåÑéES6Ä£¿é»¯£º
node.js ÖÐĬÈϽöÖ§³Ö CommonJS Ä£¿é»¯¹æ·¶£¬ÈôÏë»ùÓÚnode.js ÌåÑéÓëѧϰ ES6 µÄÄ£¿é»¯Óï·¨£¬¿ÉÒÔ°´ÕÕÈçÏÂÁ½¸ö²½Öè½øÐÐÅäÖãº
¢Ù È·±£°²×°ÁË v14.15.1 »ò¸ü¸ß°æ±¾µÄ node.js
¢Ú ÔÚ package.json µÄ¸ù½ÚµãÖÐÌí¼Ó "type": "module" ½Úµã
ĬÈϵ¼³öµÄÓï·¨£º export default ĬÈϵ¼³öµÄ³ÉÔ±£¬µ¼³öÓï·¨ÈçÒÔÏÂÎļþËùʾ£º
letn1=10//¶¨ÒåÄ£¿é˽ÓгÉÔ±n1
let n2 = 20 //¶¨ÒåÄ£¿é˽ÓгÉÔ±n2 (Íâ½ç·ÃÎʲ»µ½n2, ÒòΪËüûÓб»¹²Ïí³öÈ¥)
function show() {} //¶¨ÒåÄ£¿é˽Óз½·¨show
[]
export default { //ʹÓÃexport default ĬÈϵ¼³öÓï·¨£¬ÏòÍâ¹²Ïín1ºÍshow Á½¸ö³ÉÔ±
n1,
show
}
ĬÈϵ¼ÈëµÄÓï·¨£º import ½ÓÊÕÃû³Æ from 'Ä£¿é±êʶ·û'£¬µ¼ÈëÓï·¨ÈçÒÔÏÂÎļþËùʾ£º
//´Ó01_ _m1.js Ä£¿éÖе¼Èëexport default ÏòÍâ¹²ÏíµÄ³ÉÔ±
//²¢Ê¹ÓÃm1³ÉÔ±½øÐнÓÊÕ
import m1 from ' ./01_ m1.js'
//´òÓ¡Êä³öµÄ½á¹ûΪ:
//{n1:10£¬show: [Function: show] }
console. log(m1 )
×¢ÒâÊÂÏ
ÔÚĬÈϵ¼³öÖÐÿ¸öÄ£¿é£¬Ö»ÔÊÐíʹÓÃΨһµÄÒ»´Î export default£¬·ñÔò»á±¨´í!ʾÀý´úÂëÈçÏÂÒÔÏÂÎļþ£º
letn1=10//¶¨ÒåÄ£¿é˽ÓгÉÔ±n1
let n2 = 20 //¶¨ÒåÄ£¿é˽ÓгÉÔ±n2 (Íâ½ç·ÃÎʲ»µ½n2,ÒòΪËüûÓб»¹²Ïí³öÈ¥)
function show() {} /1¶¨ÒåÄ£¿é˽Óз½·¨show
export default { //ʹÓÃexport default ĬÈϵ¼³öÓï·¨£¬ÏòÍâ¹²Ïín1ºÍshow Á½¸ö³ÉÔ±
n1,
show
}
// SyntaxError: Identifier ' .default' has already been declared
export default {
n2
}
ĬÈϵ¼ÈëʱµÄ½ÓÊÕÃû³Æ¿ÉÒÔÈÎÒâÃû³Æ£¬Ö»ÒªÊǺϷ¨µÄ³ÉÔ±Ãû³Æ¼´¿É£¬Ê¾Àý´úÂëÈçÏ£º
// m1ÊǺϷ¨µÄÃû³Æ // import m1 from './01_ m1.js ' // 123m ²»ÊǺϷ¨µÄÃû³Æ£¬ÒòΪ³ÉÔ±Ãû³Æ²»ÄÜÒÔÊý×Ö¿ªÍ· import 123m from ' ./01 m1.js '
°´Ðèµ¼³öµÄÓï·¨£º export °´Ðèµ¼³öµÄ³ÉÔ±£¬µ¼³öÓï·¨ÈçÒÔÏÂÎļþËùʾ£º
//µ±Ç°Ä£¿éΪ03_ m2.js
//ÏòÍâ°´Ðèµ¼³ö±äÁ¿s1
exportlets1='aaa
//ÏòÍâ°´Ðèµ¼³ö±äÁ¿s2
export let s2 = 'CCC '
//ÏòÍâ°´Ðèµ¼³ö·½·¨say
export function say() {}
°´Ðèµ¼ÈëµÄÓï·¨£º import { s1 } from 'Ä£¿é±êʶ·û'£¬µ¼ÈëÓï·¨ÈçÒÔÏÂÎļþËùʾ£º
//µ¼ÈëÄ£¿é³ÉÔ±
import { s1, s2, say } from ' ./03_ m2.js '
console.log(s1) //´òÓ¡Êä³öaaa
console. log(s2) // ´òÓ¡Êä³öCCC
console.log(say) //´òÓ¡Êä³ö[Function: say]
°´Ðèµ¼³öÓë°´Ðèµ¼ÈëµÄ×¢ÒâÊÂÏ
¢Ùÿ¸öÄ£¿éÖпÉÒÔʹÓöà´Î°´Ðèµ¼³ö
¢Ú°´Ðèµ¼ÈëµÄ³ÉÔ±Ãû³Æ±ØÐëºÍ°´Ðèµ¼³öµÄÃû³Æ±£³ÖÒ»ÖÂ
¢Û°´Ðèµ¼Èëʱ£¬¿ÉÒÔʹÓà as ¹Ø¼ü×Ö½øÐÐÖØÃüÃû
¢Ü°´Ðèµ¼Èë¿ÉÒÔºÍĬÈϵ¼ÈëÒ»ÆðʹÓÃ
Èç¹ûÖ»Ïëµ¥´¿µØÖ´ÐÐij¸öÄ£¿éÖеĴúÂ룬²¢²»ÐèÒªµÃµ½Ä£¿éÖÐÏòÍâ¹²ÏíµÄ³ÉÔ±¡£´Ëʱ£¬¿ÉÒÔÖ±½Óµ¼Èë²¢Ö´ÐÐÄ£¿é´úÂ룬ʾÀý´úÂëÈçÏ£º
//µ±Ç°ÎļþÄ£¿éΪ05_ m3.js
//ÔÚµ±Ç°Ä£¿éÖÐÖ´ÐÐÒ»¸ö for Ñ»·²Ù×÷
for(let i=0; i<3; i++) {
console.log(i)
}
//-----------------·Ö¸îÏß-----------------
//Ö±½Óµ¼Èë²¢Ö´ÐÐÄ£¿é´úÂ룬²»ÐèÒªµÃµ½Ä£¿éÏòÍâ¹²ÏíµÄ³ÉÔ±
import ' ./05_ m3.js'
²ÂÄãϲ»¶£º
gzipÄ£¿éÆôÓúÍÅäÖÃÖ¸ÁîÏê½â
ÍøÒ³Ä£¿éÃüÃû¹æ·¶¡¾HTMLÍøÒ³ÖÆ×÷½Ì³Ì¡¿
Nginx·þÎñÆ÷°æ±¾Éý¼¶ºÍÐÂÔöÄ£¿é½Ì³Ì
ÀÖÓãµç¾ºwebǰ¶ËÓëÒÆ¶¯¿ª·¢Åàѵ°à
±±¾©Ð£Çø