ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ webpack.DllPlugin Π΄Π»Ρ ΡΡΠ°ΡΡΠΈ Π½Π° habrahabr.
Π§ΡΠΎΠ±Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ°Π³ΠΈ:
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
npm install
-
Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ development-Π²Π΅ΡΡΠΈΡ:
npm run build:dll npm run build
β
-
ΠΠ»ΠΈ ΡΠΎΠ±Π΅ΡΠΈΡΠ΅ production-Π²Π΅ΡΡΠΈΡ:
npm run deploy
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ dll, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΡΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½ ΠΈ Π»Π΅ΠΆΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π§ΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² package.json Π² ΡΠ°Π·Π΄Π΅Π»Π΅ scripts
.
- ΠΡΠΊΡΠΎΠΉΡΠ΅ index.html
ΠΠ° ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ (ΠΊΡΠΎΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ²):
- ΠΏΠ°ΠΏΠΊΠ° src β ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π»Π΅ΠΆΠ°ΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ;
- ΠΏΠ°ΠΏΠΊΠ° dist/dll/production β ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΏΡΠ΅Π΄ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ dll, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅ Π½Π° production Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ;
- ΠΏΠ°ΠΏΠΊΠ° example_dist β ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΡ ΡΡ Π±Π°Π½Π΄Π»ΠΎΠ² (ΠΈΡ ΡΠ°ΡΠΊΠ°ΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ).
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ DllPlugin, dll ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΡΠΉ ΡΡΠ΅Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ React, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² production-Π²Π΅ΡΡΠΈΠΈ. ΠΡ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅ΠΊΠ° β ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»Ρ Π²Π°ΠΆΠ½ΠΎ.
ΠΠ°ΠΆΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Ρ Π²Π°Ρ dll ΠΌΠΎΠΆΠ΅Ρ Π»Π΅ΠΆΠ°ΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π½Π΅ΠΆΠ΅Π»ΠΈ Π²Π°ΡΠΈ Π±Π°Π½Π΄Π»Ρ. ΠΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π― Π²ΠΈΠΆΡ 2:
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ HtmlWebpackPlugin: ΠΎΠ½ ΡΠ°ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² html Π½ΡΠΆΠ½ΡΠ΅ ΡΠ΅Π³ΠΈ
script
; - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CopyWebpackPlugin: ΠΎΠ½ ΡΠΌΠ΅Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΈΠΊΠΈ.
Π― Π²ΡΠ±ΡΠ°Π» Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ ΠΊΠΎΠΏΠΈΡΡΡ dll Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ Π² ΠΏΠ°ΠΏΠΊΡ Ρ Π±Π°Π½Π΄Π»Π°ΠΌΠΈ ΠΈ Π±Π΅Π· ΡΡΡΠ΄Π° ΠΌΠΎΠ³Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° dll Π² html.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² index.html ΡΡΡΠ»ΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΠΆΠ΅ΡΡΠΊΠΎ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ. ΠΠ° Π΄Π΅Π»Π΅ ΠΆΠ΅ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π΅ Π²ΡΡΡΠΊΠΈ.