ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π° Π±Π΅Ρ‚Π°-вСрсия Webpack 4

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ прСдставили бСту Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ вСрсии ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° JS-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Webpack. Π’Β Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΌΠ΅ΠΆΠ΄Ρƒ основными вСрсиями ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ прСдставили Π±Π΅Ρ‚Ρƒ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ вСрсии ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° JS-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Webpack. Π’Β Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΌΠ΅ΠΆΠ΄Ρƒ основными вСрсиями ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ нововвСдСния

  • РаспараллСливаниС ΠΈΒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ процСссов сТатия UglifyJS2Β Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ production;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Node 8 с синтаксичСскими конструкциями и структурами Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·Β ES6 ΠΈΒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚Β NodeΒ 4;
  • АвтоматичСская установка свойств entry ΠΈ output Π² ./src/ ΠΈ ./dist соотвСтствСнно, Ρ‡Ρ‚ΠΎ позволяСт Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Webpack Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (#0CJS);
  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… основных Ρ€Π΅ΠΆΠΈΠΌΠΎΠ²: production (с встроСнными функциями для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ) ΠΈ development (с возмоТностями для увСличСния скорости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°);
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° sideEffects: false Π² package.json для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² сборки. НовоС свойство сигнализируСт Webpack ΠΎΒ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ sideEffects (Ρ€Π°Π½Π΅Π΅ pure-module), и срСда ΠΌΠΎΠΆΠ΅Ρ‚ бСзопасно ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ экспорты ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ·Β ΠΊΠΎΠ΄Π°;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° JSON ΠΈΒ tree shaking: Webpack автоматичСски удаляСт Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ экспорты ΠΈΠ·Β JSON Module;
  • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ систСмы Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° .mjs для эффСктивной сборки HTML/CSS. ВсСго прСдставлСно 5Β Ρ‚ΠΈΠΏΠΎΠ²:javascript/auto: ΠΌΠΎΠ΄ΡƒΠ»ΡŒ JavaScript со всСми систСмами ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (CommonJS, AMD, ESM);javascript/esm: ΠΌΠΎΠ΄ΡƒΠ»ΠΈ EcmaScript, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ нСдоступны (ΠΏΠΎΒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ„Π°ΠΉΠ»ΠΎΠ² .mjs);javascript/dynamic: Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CommonJS ΠΈΒ AMD, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ EcmaScript нСдоступны;json: Π΄Π°Π½Π½Ρ‹Π΅ JSON, доступныС по запросу ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΈΠΌΠΏΠΎΡ€Ρ‚ (ΠΏΠΎΒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ„Π°ΠΉΠ»ΠΎΠ² .json)webassembly/experimental: ΠΌΠΎΠ΄ΡƒΠ»ΠΈ WebAssembly (ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΏΠΎΒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ„Π°ΠΉΠ»ΠΎΠ² .wasm);
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° WebAssembly;
  • ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚Β ΠΏΠ»Π°Π³ΠΈΠ½Π° CommonsChunkPlugin и пСрСнос части Π΅Π³ΠΎ возмоТностСй Π²Β Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Webpack ΠΏΠΎΒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ optimization.splitChunks ΠΈ optimization.runtimeChunk для Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ контроля Π½Π°Π΄ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ доступСн Π²Β ΠΆΡƒΡ€Π½Π°Π»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°Β GitHub. Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия Webpack 4Β Π±ΡƒΠ΄Π΅Ρ‚ доступна 25 фСвраля.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ