πŸ“± Π£Π»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Dynamic Import

ДинамичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚ позволяСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ асинхронно, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹, вмСсто Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΡ… сразу ΠΏΡ€ΠΈ стартС прилоТСния. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим сначала ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° модуля: `import hello from β€˜path/to/module.js’

hello.world() // стандартноС использованиС модуля, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ импортируСтся ΠΈ выполняСтся Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ динамичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚? `const isTrue = true;

if (isTrue) { const helloModule = await import(β€˜path/to/module.js’) // Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° являСтся промис, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. helloModule.world() }

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½ динамичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… ситуациях Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

ΠΊΠΎΠ³Π΄Π° статичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ замСдляСт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ использованиС памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ вряд Π»ΠΈ понадобится ΠΈΠ»ΠΈ понадобится ΠΏΠΎΠ·ΠΆΠ΅;

ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ сущСствуСт Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ;

ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты, ΠΈ ΠΈΡ… Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π΅Π· выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ условия;

Π•ΡΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ рассказываСт ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это устроСно ΠΈ я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π΅Π³ΠΎ ΠΊ просмотру``