Π― Ρ
ΠΎΡΠ΅Π» Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ SVG Π² ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΡΡΠΎΠ±Ρ Ρ ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ appConfig.module.rules[2].exclude.push(/\.svg$/);
Π² ΡΠ²ΠΎΠ΅ΠΌ razzle.config.js
Π½ΠΎ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Π·Π»ΠΎΠΌΠ°Π½ΠΎ! ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± Π»ΡΡΡΠ΅?
Π£ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΠ³Π΄Π° Ρ Ρ
ΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΎΡ
Π²Π°ΡΠ΅Π½ ΡΠΏΠΈΡΠΊΠΎΠΌ exclude
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ file-loader
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π²Π½ΠΈΠ·Ρ, _ (ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ Webpack ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ) _, Π½ΠΎ, ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΠΎΠ½ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· file-loader
. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π² ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΡΠΎ ΠΈ @superfunkminister, ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠ½Π΅ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ exclude
Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ config.module.rules
.
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π±ΡΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΏΠΎΡ ΠΎΠΆΠ΅, Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
const makeLoaderFinder = require('razzle-dev-utils/makeLoaderFinder');
config.module.rules[
config.module.rules.findIndex(makeLoaderFinder('file-loader'))
].exclude.push(/\.graphql$/);
@jaredpalmer Π― Π΄ΡΠΌΠ°Ρ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π° Π²ΠΈΠ΄Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π²ΡΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ. Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅?
ΠΡΠΈΠ²Π΅Ρ! ΠΡΠ°ΠΊ, Π²ΠΎΡ ΡΠ΄Π΅Π»ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΌΠΎΠ΅ΠΉ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΈ ΠΆΠΈΠ·Π½ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π΅Ρ, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΎΡΠ° GitHub Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΠ΅ΠΉ Π·Π΄Π΅ΡΡ ΠΈ ΡΠ°ΠΌ. ΠΡΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π±ΠΎΡ GitHub Π±ΡΠ΄Π΅Ρ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ ΡΡΠΎ ΠΊΠ°ΠΊ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Π½Π΅ΠΌ Π½Π΅ Π±ΡΠ»ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ. ΠΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡ, Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄Π½Π΅ΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΡΠΎ Π½Π° ΡΠ²ΠΎΠΉ ΡΡΠ΅Ρ - ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ - ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΌΠ½Π΅ DM, ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΊΡΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ Π΄ΡΠΌΠΎΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π».
ProBot Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΡΠ» ΡΡΠΎ ΠΈΠ·-Π·Π° Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π‘ΠΎΠΎΠ±ΡΠΈΡΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈ ΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π΅Π³ΠΎ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π±ΡΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΏΠΎΡ ΠΎΠΆΠ΅, Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
@jaredpalmer Π― Π΄ΡΠΌΠ°Ρ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π° Π²ΠΈΠ΄Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π²ΡΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ. Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅?