npm i -g yarnnpm i -g gulpnpm i -g bem-tools-coregit clone https://github.com/andreyalexeich/gulp-pug-starter.git heruntercd gulp-pug-starteryarn set version berry einyarnyarn run dev (Entwicklungsmodus)yarn run build (Montagemodus) ein, um das Projekt zu erstellen.Wenn Sie alles richtig gemacht haben, sollten Sie einen Browser mit einem lokalen Server öffnen. Der Montagemodus umfasst die Optimierung des Projekts: Bildkomprimierung, Minifikation von CSS- und JS -Dateien zum Herunterladen auf den Server.
gulp-pug-starter
├── dist
├── gulp-tasks
├── src
│ ├── blocks
│ ├── fonts
│ ├── img
│ ├── js
│ ├── styles
│ ├── views
│ └── .htaccess
├── gulpfile.babel.js
├── webpack.config.js
├── package.json
├── .yarnrc.yml
├── .babelrc.js
├── .bemrc.js
├── .eslintrc.json
├── .stylelintrc
├── .stylelintignore
└── .gitignore
.babelrc.js - Babel -Einstellungen.bemrc.js - BEM -Einstellungen.eslintrc.json - Eslint -Einstellungen.gitignore - Verbot beim Verfolgen von Git -Dateien.stylelintrc - Stylelint -Einstellungen.stylelintignore - Verbot beim Verfolgen von Stylelint -Dateien.yarnrc.yml - Garn einstellengulpfile.babel.js - Gulp -Einstellungenwebpack.config.js - WebPack -Einstellungenpackage.json - Liste der Abhängigkeitensrc -Ordner - verwendet während der Entwicklung:src/blockssrc/fontssrc/imgsrc/jssrc/views/pagessrc/stylessrc/viewssrc/.htaccessdist -Ordner ist ein Ordner, aus dem ein lokaler Server für die Entwicklung gestartet wird (wenn yarn run dev starten)gulp-tasks -Ordner-A-Ordner mit Schluckaufgaben yarn run lint:styles - SCSS -Dateien überprüfen. Für VSCODE müssen Sie ein Plugin installieren. Für Webstorm oder PhpStorm müssen Sie Stylelint in Languages & Frameworks - Style Sheets - Stylelint (Fehler in den Bereichen Rahmenbedingungen) aktivieren (Fehler werden beim Speichern der Datei automatisch behoben).yarn run dev - Starten eines Servers für die Projektentwicklungyarn run build - Sammeln Sie ein Projekt mit Optimierung, ohne den Server zu startenyarn run build:views - Kompilieren Sie Mopsdateienyarn run build:styles - Kompilieren Sie SCSS -Dateien zusammenyarn run build:scripts - Sammeln Sie JS fehlyarn run build:images - Bilder sammelnyarn run build:webp - So passt die Bilder an das .webp -Format anyarn run build:sprites - Sammeln Sie Sprossenyarn run build:fonts - Schriftarten sammelnyarn run build:favicons - Sammeln Sie Favikonkiyarn run build:gzip - Sammeln Sie Apache -Konfigurationyarn run bem-m -ADD BEM Blockyarn run bem-c - Fügen Sie die Komponente hinzuyarn run lint:styles --fix -Fix -Fehler in SCSS -Dateien gemäß Stylelint -Einstellungenyarn run lint:scripts - Überprüfen Sie, ob JS fehlschlägtyarn run lint:scripts --fix -Fix -Fehler in JS -Dateien entsprechend den Eslint -Einstellungen src/blocks/modulessrc/views/index.pug (oder in die erforderliche Seitendatei, in der der Block aufgerufen wird) importiert)src/blocks/modules/_modules.scss importiertsrc/js/import/modules.js importiertEin Beispiel für die Struktur des Ordners mit einem BEM -Block:
blocks
├── modules
│ ├── header
│ │ ├── header.pug
│ │ ├── header.js
│ │ ├── header.scss
Um den entsprechenden Ordner und die entsprechenden Dateien nicht manuell zu erstellen, reicht es aus, die folgenden Befehle in der Konsole zu verschreiben:
yarn run bem-m my-block -Erstellen Sie einen BEM-Block in src/block/modules (für die Haupt-BEM-Blöcke), wobei my-block der Name des BEM-Blocks ist (nach der Erstellung müssen Sie den Inhalt der BAM-Block-JS-Datei löschen);yarn run bem-с my-component -Erstellen einer Komponente in src/blocks/components (für Komponenten), wobei my-component der Name der Komponente ist (nach dem Erstellen des Erstellens müssen Sie den Inhalt der BEM-Komponente JS-Datei löschen).src/blocks/componentssrc/views/index.pug (oder in die erforderliche Seitendatei aus der Komponente aufgerufen) importiert)src/blocks/components/_components.scss importiertsrc/js/import/components.js importiertsrc/views/pagessrc/views/layouts/default.pug -Schablonenvorlagesrc/views/index.pugsrc/fonts.woff -Formate und .woff2src/styles/base/_fonts.scss angeschlossensrc/img -Ordner.webp -Format konvertiert. Detaillierte Informationen zur Verwendung hiersrc/img/favicon befinden und eine Größe von mindestens 1024px x 1024px haben Um Sprites zu schaffen .svg -Bild sollte sich im Ordner src/img/sprites befinden. Zum Beispiel haben wir icon-1.svg , icon-2.svg und icon-3.svg -Dateien, und wir müssen sich mit icon-2.svg wenden. Zu diesem Zweck müssen Sie in HTML das use -Tag verwenden:
svg
use ( xlink:href = "img/sprites/sprite.svg#logo" )Ändern Sie die Stile von SVG-ICons aus dem Sprite in CSS:
svg use {
fill : red;
}Es gibt eine Situation, in der die Stile der Symbole nicht geändert werden können. Dies liegt an der Tatsache, dass beim Exportieren von Figma nach SVG ein zusätzlicher Code hinzugefügt wird. Zum Beispiel:
< svg width =" 18 " height =" 19 " viewBox =" 0 0 18 19 " fill =" none " xmlns =" http://www.w3.org/2000/svg " >
< path d =" M4.90918 4.04542L13.091 9.54088L4.90918 14.9545L4.90918 4.04542Z " fill =" #1B1B1D " />
</ svg > Es ist notwendig fill="none" und fill="#1B1B1D" zu entfernen. Es sollte sich so herausstellen:
< svg width =" 18 " height =" 19 " viewBox =" 0 0 18 19 " xmlns =" http://www.w3.org/2000/svg " >
< path d =" M4.90918 4.04542L13.091 9.54088L4.90918 14.9545L4.90918 4.04542Z " />
</ svg > node_modules installiertyarn add package_name import $ from "jquery" ;src/styles/vendor/_libs.scssVerwenden Sie diese Baugruppe.
Erzähl mir von Bugs, setze einen Stern, sei das Telegrammton für Bier?
Schreiben Sie für alle Fragen in Telegramm