Webpack. ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Β· Bootstrap v5.3.0-alpha3
Π₯ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠΎΠ½ΡΡ? ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΡΠ°Π±ΠΎΡΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ twbs/examples. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π² StackBlitz Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Webpack Ρ Bootstrap Ρ Π½ΡΠ»Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ. ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Ρ Π²Π°Ρ Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Node.js ΠΈ Π²Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ.
-
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ npm. ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ°ΠΏΠΊΡ
my-project
ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ npm Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ-y
, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ Π·Π°Π΄Π°Π²Π°Π» Π½Π°ΠΌ Π²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.mkdir my-project && cd my-project npm init -y
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Webpack. ΠΠ°Π»Π΅Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Webpack:
webpack
Π΄Π»Ρ ΡΠ΄ΡΠ° Webpack,
, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Webpack ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΈwebpack-dev-server
ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌhtml-webpack-plugin
, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π°Ρindex.html
Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅src
Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°dist
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ--save-dev
, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, Π° Π½Π΅ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°.npm i --save-dev webpack webpack-cli webpack-dev-server html-webpack-plugin
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Bootstrap. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Bootstrap. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Popper, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΠΈ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ ΡΠΏΠΈΡΠΊΠΈ, Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΡΡΠΈΡΡ Π·Π΄Π΅ΡΡ Popper.
npm i --save bootstrap @popperjs/core
-
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Webpack ΠΈ Bootstrap Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ CSS ΠΈ JS Bootstrap Ρ Webpack. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ Sass, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΈ ΠΈ Autoprefixer.
npm i --save-dev autoprefixer css-loader postcss-loader sass sass-loader style-loader
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΠΌΠΏΠΎΡΡΡ Bootstrap.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠ°ΠΏΠΊΡ my-project
ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ npm. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ src
ΠΈ dist
, ΡΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ· my-project
ΠΈΠ»ΠΈ Π²ΡΡΡΠ½ΡΡ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅.
mkdir {src,src/js,src/scss} touch src/index.html src/js/main.js src/scss/styles.scss webpack.config.js
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅, Π²Π°Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
my-project/ βββ src/ β βββ js/ β β βββ main.js β βββ scss/ β β βββ styles.scss β βββ index. html βββ package-lock.json βββ package.json βββ webpack.config.js
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π½ΠΎ Webpack Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π½Π°Ρ webpack.config.js
.
ΠΠΎΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Webpack
Π‘ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΈΡΡ Webpack ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
-
ΠΡΠΊΡΠΎΠΉΡΠ΅
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΏΡΡΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ. ΠΡΠ° ΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Webpack, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ JavaScript Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΡΠ΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ (webpack.config.js
Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.dist
) ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈdist
Ρ Π³ΠΎΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ).'use strict' const path = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') module. exports = { mode: 'development', entry: './src/js/main.js', output: { filename: 'main.js', path: path.resolve(__dirname, 'dist') }, devServer: { static: path.resolve(__dirname, 'dist'), port: 8080, hot: true }, plugins: [ new HtmlWebpackPlugin({ template: './src/index.html' }) ] }
-
ΠΠ°Π»Π΅Π΅ ΠΌΡ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π½Π°Ρ
dist/index.html
. ΠΡΠΎ HTML-ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΡ Webpack Π·Π°Π³ΡΡΠ·ΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ CSS ΠΈ JS, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ Π½Π΅ΠΉ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΠΏΠ°Ρ . ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π°ΡΡ Π΅ΠΌΡ ΡΡΠΎ-ΡΠΎ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡoutput
JS ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π³Π°.<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap w/ Webpack</title> </head> <body> <div> <h2>Hello, Bootstrap and Webpack!</h2> <button>Primary button</button> </div> </body> </html>
ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΡΠ΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Π΅ΠΉ Bootstrap Ρ ΠΏΠΎΠΌΠΎΡΡΡ
ΠΈdiv
<button>
, ΡΡΠΎΠ±Ρ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠΎΠ³Π΄Π° CSS Bootstrap Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Webpack. -
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΊΡΠΈΠΏΡ npm Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Webpack. ΠΡΠΊΡΠΎΠΉΡΠ΅
package.json
ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉstart
, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ (Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ). ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π°ΡΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Webpack. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΊΡΠΈΠΏΡbuild
, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅, Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.{ // ... "scripts": { "start": "webpack serve", "build": "webpack build --mode=production", "test": "echo \"Error: no test specified\" && exit 1" }, // ... }
-
Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Webpack.
ΠΠ· ΠΏΠ°ΠΏΠΊΠΈmy-project
Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ npm:npm start
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΌΡ Π½Π°ΡΡΡΠΎΠΈΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΈ Webpack ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π²Π΅ΡΡ CSS ΠΈ JavaScript Bootstrap.
ΠΠΌΠΏΠΎΡΡ Bootstrap
ΠΠ»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° Bootstrap Π² Webpack ΡΡΠ΅Π±ΡΡΡΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. ΠΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ npm, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Webpack Π΄Π»Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
-
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΈ Π²
webpack.config.js
. ΠΠ°Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π³ΠΎΡΠΎΠ² ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ Π½ΠΎΠ²Π°Ρ ΡΠ°ΡΡΡ Π·Π΄Π΅ΡΡ β ΡΠ°Π·Π΄Π΅Π»module
.'use strict' const path = require('path') const autoprefixer = require('autoprefixer') const HtmlWebpackPlugin = require('html-webpack-plugin') module.exports = { mode: 'development', entry: './src/js/main.js', output: { filename: 'main.js', path: path.resolve(__dirname, 'dist') }, devServer: { static: path.resolve(__dirname, 'dist'), port: 8080, hot: true }, plugins: [ new HtmlWebpackPlugin({ template: '. /src/index.html' }) ], module: { rules: [ { test: /\.(scss)$/, use: [ { // Adds CSS to the DOM by injecting a `<style>` tag loader: 'style-loader' }, { // Interprets `@import` and `url()` like `import/require()` and will resolve them loader: 'css-loader' }, { // Loader for webpack to process CSS with PostCSS loader: 'postcss-loader', options: { postcssOptions: { plugins: () => [ autoprefixer ] } } }, { // Loads a SASS/SCSS file and compiles it to CSS loader: 'sass-loader' } ] } ] } }
ΠΠΎΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΡΠΎΠ³ΠΎ, Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ Π²ΡΠ΅ ΡΡΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΈ.
style-loader
Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ CSS Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ<style>
Π²<head>
HTML-ΡΡΡΠ°Π½ΠΈΡΡ,css-loader
ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ@import
ΠΈurl()
,postcss-loader
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ Autoprefixer, Π°sass-loader
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Sass. -
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Bootstrap CSS. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²
src/scss/styles.scss
, ΡΡΠΎΠ±Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Bootstrap Sass.// Import all of Bootstrap's CSS @import "bootstrap/scss/bootstrap";
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅. ΠΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΈΠΌΠΏΠΎΡΡΡ Sass Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ.
-
ΠΠ°Π»Π΅Π΅ ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ CSS ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ JavaScript ΠΈΠ· Bootstrap. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²
src/js/main.js
, ΡΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ CSS ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ JS ΠΈΠ· Bootstrap. ΠΠΎΠΏΠΏΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ ΡΠ΅ΡΠ΅Π· Bootstrap.// ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π½Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ CSS import '../scss/styles.scss' // ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π²Π΅ΡΡ JS Bootstrap import * as bootstrap from 'bootstrap'
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ JavaScript ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
import Alert from 'bootstrap/js/dist/alert' // ΠΈΠ»ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ: import { Tooltip, Toast, Popover } from 'bootstrap'
ΠΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ JavaScript Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Bootstrap.
-
Π Π³ΠΎΡΠΎΠ²ΠΎ! π Π‘ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Bootstrap Sass ΠΈ JS Π²Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Bootstrap, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΏΠΎΠ»Π½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° Webpack, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Sass ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΡΠΊΡ, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΈ CSS Bootstrap. ΠΈ JS, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π°
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Webpack ΠΈ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°Ρ.
style-loader
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ Π²ΡΡΠ΅, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ CSS Π² ΠΏΠ°ΠΊΠ΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°ΠΉΠ» CSS Π² dist/index.html
Π½Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΡΡΠΎΠ³ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΠ·ΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΎΠΌ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ·-Π·Π° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°.
Π§ΡΠΎΠ±Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ CSS, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΅Π³ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ· dist/index.html
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Webpack mini-css-extract-loader
.
Π‘Π½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½:
npm install --save-dev mini-css-extract-plugin
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Webpack:
--- a/webpack.config.js +++ b/webpack.config.js @@ -3,6 +3,7 @@ const path = require('path') const autoprefixer = require('autoprefixer') const HtmlWebpackPlugin = require('html-webpack-plugin') +const miniCssExtractPlugin = require('mini-css-extract-plugin') module.exports = { mode: 'development', @@ -17,7 +18,8 @@ module.exports = { hot: true }, plugins: [ - new HtmlWebpackPlugin({ template: './src/index.html' }) + new HtmlWebpackPlugin({ template: './src/index.html' }), + new miniCssExtractPlugin() ], module: { rules: [ @@ -25,8 +27,8 @@ module.exports = { test: /\.(scss)$/, use: [ { - // Adds CSS to the DOM by injecting a `<style>` tag - loader: 'style-loader' + // Extracts CSS for each JS file that includes CSS + loader: miniCssExtractPlugin. loader }, {
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° npm run build
ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» dist/main.css
, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²Π΅ΡΡ CSS, ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ src/js/main.js
. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ dist/index.html
Π² ΡΠ²ΠΎΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΡΡΠΈΠ»Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² dist/main.css
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ CSS Π² dist/index.html
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
--- a/dist/index.html +++ b/dist/index.html @@ -3,6 +3,7 @@ <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="stylesheet" href="./main.css"> <title>Bootstrap w/ Webpack</title> </head> <body>
Bootstrap CSS Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΠ°ΠΉΠ»Ρ SVG ΡΠ΅ΡΠ΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ URI data:
. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ URI data:
Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ SVG Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ SVG Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΡΡΡΠΎΠ² Webpack.
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Webpack Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² SVG ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
--- a/webpack.config.js +++ b/webpack.config.js @@ -23,6 +23,14 @@ module.exports = { }, module: { rules: [ + { + mimetype: 'image/svg+xml', + scheme: 'data', + type: 'asset/resource', + generator: { + filename: 'icons/[hash].svg' + } + }, { test: /\.(scss)$/, use: [
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° npm run build
Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ SVG ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ Π² dist/icons
ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π½Ρ Π² CSS.
ΠΠΈΠ΄ΠΈΡΠ΅ Π·Π΄Π΅ΡΡ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π΅? ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π²ΠΎΠΏΡΠΎΡ Π½Π° GitHub. ΠΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡΡ Π² ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ? ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΠΈΡΠΊ ΠΈΠ»ΠΈ Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° GitHub.
ΠΡΠΈΠΌΠ΅ΡΡ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Β· Bootstrap v5.3.0-alpha3Π‘ΡΠ°ΡΡΠΎΠ²ΡΠ΅ Π½Π°Π±ΠΎΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Bootstrap Π² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ JS, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Webpack, Parcel, Vite ΠΈ Π΄ΡΡΠ³ΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° StackBlitz.
Π‘ΡΠ°ΡΡΠ΅Ρ CDN
ΠΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ CSS ΠΈ JavaScript Bootstrap ΡΠ΅ΡΠ΅Π· CDN jsDelivr.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° StackBlitz
Sass ΠΈ JS
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ npm Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Bootstrap Sass Ρ Autoprefixer ΠΈ Stylelint, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ JavaScript.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° StackBlitz
Sass ΠΈ ESM JS
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ Sass Bootstrap Ρ ΠΏΠΎΠΌΠΎΡΡΡ Autoprefixer ΠΈ Stylelint, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ JavaScript Ρ ΠΏΡΠΎΠΊΠ»Π°Π΄ΠΊΠΎΠΉ ESM.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° StackBlitz
Webpack
ΠΠΌΠΏΠΎΡΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Bootstrap Sass ΠΈ JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ Webpack.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° StackBlitz
Parcel
ΠΠΌΠΏΠΎΡΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Bootstrap Sass ΠΈ JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ Parcel.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° StackBlitz
Vite
ΠΠΌΠΏΠΎΡΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Bootstrap Sass ΠΈ JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ Vite.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° StackBlitz
Bootstrap ΠΠΊΠΎΠ½ΠΊΠΈ
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ Sass Bootstrap Ρ ΠΏΠΎΠΌΠΎΡΡΡ Stylelint, PurgeCSS ΠΈ Π²Π΅Π±-ΡΡΠΈΡΡΠ° Bootstrap Icons.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° StackBlitz
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ
ΠΠ±ΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΡΠΎΠ² ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΠΈ ΡΡΠΈΠ»ΠΈΡΠ°Ρ Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ CSS ΠΈ Ρ.Π΄.
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ
ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ΠΈΠ½Π³, Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ, ΠΏΠΎΠΈΡΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.
ΠΠ΅ΡΠΎΠΈ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ΅Π½Ρ Π½Π° ΡΠ²ΠΎΠ΅ΠΉ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅ΡΠΎΠ΅Π² Ρ ΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠ·ΡΠ²Π°ΠΌΠΈ ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ
ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΠ°ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΠΎΠΊΠΎΠ²ΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ
ΠΠ±ΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΌΠ°ΠΊΠ΅ΡΠΎΠ² Π²Π½Π΅ Ρ ΠΎΠ»ΡΡΠ° ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ².
Π€ΡΡΠ΅ΡΡ
ΠΠ°Π²Π΅ΡΡΠΈΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΠΌ Π½ΠΈΠΆΠ½ΠΈΠΌ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ»ΠΎΠΌ, Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ»ΠΈ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ.
ΠΡΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΈ
Π Π°ΡΡΠΈΡΡΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ ΡΠΏΠΈΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ², ΠΈΠΊΠΎΠ½ΠΎΠΊ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠΈΠ»Π΅ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ
Π Π°ΡΡΠΈΡΡΠΉΡΠ΅ Π³ΡΡΠΏΠΏΡ ΡΠΏΠΈΡΠΊΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠΈΠ»Π΅ΠΉ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΠΎΠ΄Π°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π°
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉΡΠ΅ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π° Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠ΅Π»Π΅ΠΉ, ΠΎΡ ΠΎΠ±Π·ΠΎΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ².
ΠΠ½Π°ΡΠΊΠΈ
ΠΠ°ΡΡΠ°Π²ΡΡΠ΅ Π·Π½Π°ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ HTML ΠΈ Π½ΠΎΠ²ΡΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ.
Π₯Π»Π΅Π±Π½ΡΠ΅ ΠΊΡΠΎΡΠΊΠΈ
ΠΠ½ΡΠ΅Π³ΡΠΈΡΡΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΡΠ΅ΠΏΠΏΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΠ½ΠΎΠΏΠΊΠΈ
Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡ.
ΠΠΆΠ°ΠΌΠ±ΠΎΡΡΠΎΠ½Ρ
Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Bootstrap.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
Π‘ΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π»ΡΠ΄ΡΠΌ Π±ΡΡΡΡΠΎ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Bootstrap ΠΈ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΎΠΉ ΠΎΠΏΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΠ»ΡΠ±ΠΎΠΌ
ΠΡΠΎΡΡΠΎΠΉ ΠΎΠ΄Π½ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠΎΡΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΈ, ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ ΠΈ Ρ.Π΄.
ΠΠ»Π°ΠΉΡ-Π»ΠΈΡΡ
ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠ΅Π½Π°ΠΌΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ, Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ Π²Π΅ΡΡ Π½ΠΈΠΌ ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΌ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ»Π°ΠΌΠΈ.
ΠΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π°
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΠΎΡΠΌΠ° ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ Π½Π°ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΎΡΠΌΡ ΠΈ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
ΠΡΠΎΠ΄ΡΠΊΡ
ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½Π°Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡ, Ρ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΎΠΉ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ±Π»ΠΎΠΆΠΊΠ°
ΠΠ΄Π½ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ.
ΠΠ°ΡΡΡΠ΅Π»Ρ
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ ΠΊΠ°ΡΡΡΠ΅Π»Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΠ»ΠΎΠ³
ΠΡΡΠ½Π°Π» ΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΎΠ½ Π±Π»ΠΎΠ³Π° Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ, Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠ΅ΠΉ, ΠΈΠ·Π±ΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ.
ΠΠ°Π½Π΅Π»Ρ
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΡΡ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΡΡ.
Π€ΠΎΡΠΌΠ° Π²Ρ ΠΎΠ΄Π°
ΠΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΠΊΠ΅Ρ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΎΡΠΌΡ Π²Ρ ΠΎΠ΄Π°.
ΠΠ°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΡΡΡΠ΅Ρ
ΠΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ» ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠ°Π»ΠΎ.
ΠΠ°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΡΡΡΠ΅Ρ ΠΈ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
ΠΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ» ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡ Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ.
ΠΠΆΠ°ΠΌΠ±ΠΎΡΡΠΎΠ½
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Π΄Π»Ρ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ jumbotron Bootstrap 4.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ
ΠΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Ρ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Bootstrap.
Π‘ΡΠ°ΡΡΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½
ΠΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠΎΡΡΠΎΡΡ: ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ CSS ΠΈ JavaScript.
Π‘Π΅ΡΠΊΠ°
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΌΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠ΅ΡΠΊΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΌΡ ΡΡΠΎΠ²Π½ΡΠΌΠΈ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡΡ ΠΈ Ρ. Π΄.
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ°
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° Bootstrap ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° RTL
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° Bootstrap ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², RTL.
ΠΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
ΠΠ·ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ, ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ.
ΠΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π²ΡΠ΅Ρ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.
ΠΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Ρ offcanvas
Π’ΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΠ°Π½Π΅Π»ΡΠΌΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π½ΠΎ Ρ Π½Π°ΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ offcanvas.
Π‘ΡΠ°ΡΠΈΡΠ½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡ Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ.
Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
ΠΡΠΈΠΌΠ΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡ Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ.
ΠΠΈΠΆΠ½ΡΡ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
ΠΡΠΈΠΌΠ΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Ρ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ.
ΠΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π²Π½Π΅ Ρ ΠΎΠ»ΡΡΠ°
ΠΡΠ΅Π²ΡΠ°ΡΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π² ΡΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π΅ ΠΌΠ΅Π½Ρ Π²Π½Π΅ Ρ ΠΎΠ»ΡΡΠ° (Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π²Π½Π΅ Ρ ΠΎΠ»ΡΡΠ°).
RTL
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ RTL-Π²Π΅ΡΡΠΈΡ Bootstrap Ρ ΡΡΠΈΠΌΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
RTL Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ. ΠΠ°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΈΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅?
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ issue.
ΠΠ»ΡΠ±ΠΎΠΌ RTL
ΠΡΠΎΡΡΠΎΠΉ ΠΎΠ΄Π½ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠΎΡΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΉ, ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ ΠΈ Ρ.Π΄.
ΠΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π° RTL
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΠΎΡΠΌΠ° ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ Π½Π°ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΎΡΠΌΡ ΠΈ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
ΠΠ°ΡΡΡΠ΅Π»Ρ RTL
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ ΠΊΠ°ΡΡΡΠ΅Π»Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΠ»ΠΎΠ³ RTL
ΠΡΡΠ½Π°Π» ΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΎΠ½ Π±Π»ΠΎΠ³Π° Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ, Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠ΅ΠΉ, ΠΈΠ·Π±ΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ.
ΠΠ°Π½Π΅Π»Ρ RTL
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΡΡ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΡΡ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ.
Masonry
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠΊΠΈ Bootstrap ΠΈ ΠΌΠ°ΠΊΠ΅ΡΠ° Masonry.
Please enable JavaScript to view the comments powered by Disqus.
Twitter Bootstrap ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ΄Π°Π΅ΡΡΡ Π½Π° IndieMaker
Twitter Bootstrap CSS ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π² ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅.
ΠΠΎΠ±ΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ 1Β 466 ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ²
ΠΡ ΡΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π²Π°ΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ.
ΠΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ²ΠΎΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
ΠΠΎΠΉΡΠΈ
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎ Π»ΠΈΡΡΠΈΠ½Π³Π΅
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Twitter Bootstrap Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CSS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Twitter Bootstrap Π² ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅.
ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΉ Ρ 2.0.3 ΠΏΠΎ 2.3.2. ΠΠ½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°ΡΠ΅Π»Π°, Π½ΠΎ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡ Π²Π΅ΡΡΠΈΡ. ΠΠ΅ΡΡΠΈΡ 3.0 ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π°, Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
Β
Π§ΡΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ:
- ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²Π΅ΡΡΠΈΠΈ 2.3.2
- ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²Π΅ΡΡΠΈΠΈ 2.2.3
- ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²Π΅ΡΡΠΈΠΈ 2.2.1
- ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²Π΅ΡΡΠΈΠΈ 2.1.1
- ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ v2.0.4
- ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ v2.0.3
- ΠΠ΅Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ v3.0.0
- ΠΠ΅Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ v3.0.3
- ΠΠΎΠΌΠ΅Π½ bootstrap-ru. com
- Google Analytics 9 0026 Google
- Π―Π½Π΄Π΅ΠΊΡ ΠΠ΅Π±ΠΌΠ°ΡΡΠ΅Ρ
- ΠΠ±ΡΡΠΆΠ΄Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΠ°ΠΉΡΠ°:
- 2,000+ ΠΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- 30,000+ ΠΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- 100,0 00+ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ² ΡΡΡΠ°Π½ΠΈΡ Π² ΠΌΠ΅ΡΡΡ
- 36 000+ Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΌΠ΅ΡΡΡ
- β ~1 400 000 Π² ΠΌΠΈΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΉΡΠΈΠ½Π³Π΅ Alexa
- Π―Π½Π΄Π΅ΠΊΡ 140 ΠΠΠ‘
- Π‘ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
- ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ / Π Π΅ΠΊΠ»Π°ΠΌΠ½Π°Ρ ΡΠ΅ΡΡ
- Π Π΅ΠΊΠ»Π°ΠΌΠΈΡΡΠΉΡΠ΅ ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΠΉΡΠ΅ ΡΡΠ°ΡΠΈΠΊ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ°/ΡΡΠ»ΡΠ³ΠΈ/ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Bootstrap Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ°
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Β«Π±Π»ΠΎΠ³Β», ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Twitter Bootstrap
- ΠΠΎΠ±Π°Π²ΠΈΡΡ Β«ΡΠΎΡΡΠΌΒ», ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
- ΠΠ°ΡΠ°ΡΡ/ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Π±ΡΠ»Π»Π΅ΡΠ΅Π½Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
Β
ΠΠ°ΠΊ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ?
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠΊΡΠΏΠΊΠΈ Ρ:
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ
- ΠΡΡΠ»Π°ΡΡ Π°ΡΡ ΠΈΠ² Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
- ΠΠΎΠΌΠΎΡΡ Π² Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ°ΠΉΡΠ° Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ Ρ ΠΎΡΡΠΈΠ½Π³
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Google Analytics
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΡΠ°Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π½Π° Google Webmasters ΠΈ Search Console
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΡΠ°Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π½Π° Yandex Webmaster
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΡΠ°Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π½Π° ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠ°ΡΠ°/ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Discus
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΈ ΠΈΠ΄Π΅ΠΈ:
- ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ / ΡΠ΅ΠΊΠ»Π°ΠΌΠ½Π°Ρ ΡΠ΅ΡΡ
- Π Π΅ΠΊΠ»Π°ΠΌΠ° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ°/ΡΡΠ»ΡΠ³ΠΈ/ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΠΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Bootstrap Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ°
- ΠΠΎΠ±Π°Π²ΠΈΡΡ Β«Π±Π»ΠΎΠ³Β», ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Twitter Bootstrap
- ΠΠΎΠ±Π°Π²ΠΈΡΡ Β«ΡΠΎΡΡΠΌΒ», ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
- ΠΠ°ΡΠ°ΡΡ/ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Π±ΡΠ»Π»Π΅ΡΠ΅Π½Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
Bootstrap, CSS, HTML, PHPΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
ΠΠΎΠ½ΡΠ΅Π½Ρ, ΠΠΈΠ·Π°ΠΉΠ½, ΠΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ, ΠΡΠΊΡΡΡΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ΠΡΠΈΡΠΈΠ½Π° ΠΏΡΠΎΠ΄Π°ΠΆΠΈ
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ$44 800,00
Π‘Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΡΠΎΠ΄Π°Π²Π΅Ρ
ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΠΏΡΠΎΠ΄Π°ΠΆΡ
- ΠΠΊΠ»ΡΡΠ°Π΅Ρ Π²Π΅Π±-ΡΠ°ΠΉΡ
- ΠΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΌΠ΅Π½
- ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
ΠΡΡΠ³Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠΊΠ° Π½Π΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Β· ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ°
ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ Bootstrap, ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π² ΠΌΠΈΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ°ΠΉΡΠΎΠ², Ρ jsDelivr ΠΈ ΡΡΠ°ΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΎΠ½Π°.
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
Π₯ΠΎΡΠΈΡΠ΅ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Bootstrap Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ jsDelivr, Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ΅Π±ΡΡΠ°ΠΌΠΈ ΠΈΠ· jsDelivr. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ? ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΎΠΊ.
Π£Π‘Π
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ
Π² Π²Π°Ρ
ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ΅ΠΌΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΡΡΠΈΠ»Π΅ΠΉ, ΡΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½Π°Ρ CSS.
JS
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π½Π°ΡΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ JavaScript. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄Π»Ρ Π½ΠΈΡ
ΡΡΠ΅Π±ΡΡΡΡΡ jQuery, Popper. js ΠΈ Π½Π°ΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ JavaScript. ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅
Π² ΠΊΠΎΠ½Π΅Ρ Π²Π°ΡΠΈΡ
ΡΡΡΠ°Π½ΠΈΡ,ΠΏΡΡΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΌ ΡΠ΅Π³ΠΎΠΌ
, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ
. ΠΠ΅ΡΠ²ΡΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ jQuery, Π·Π°ΡΠ΅ΠΌ Popper.js, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΡΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ JavaScript.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΎΠ½ΠΊΡΡ ΡΠ±ΠΎΡΠΊΡ jQuery, Π½ΠΎ ΠΏΠΎΠ»Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.