git clone https://github.com/andreyalexeich/gulp-pug-starter.git
gulp
глобально: yarn global add gulp-cli
bem-tools-core
глобально: yarn global add bem-tools-core
cd gulp-pug-starter
yarn
yarn run dev
(режим разработки)yarn run build
(режим сборки)Если вы всё сделали правильно, у вас должен открыться браузер с локальным сервером.Режим сборки предполагает оптимизацию проекта: сжатие изображений, минифицирование CSS и JS-файлов для загрузки на сервер.
gulp-pug-starter
├── dist
├── gulp-tasks
├── src
│ ├── blocks
│ ├── fonts
│ ├── img
│ ├── js
│ ├── styles
│ ├── views
│ └── .htaccess
├── gulpfile.babel.js
├── webpack.config.js
├── package.json
├── .babelrc.js
├── .bemrc.js
├── .eslintrc.json
├── .stylelintrc
├── .stylelintignore
└── .gitignore
.babelrc.js
— настройки Babel.bemrc.js
— настройки БЭМ.eslintrc.json
— настройки ESLint.gitignore
– запрет на отслеживание файлов Git'ом.stylelintrc
— настройки Stylelint.stylelintignore
– запрет на отслеживание файлов Stylelint'омgulpfile.babel.js
— настройки Gulpwebpack.config.js
— настройки Webpackpackage.json
— список зависимостейsrc
- используется во время разработки:
src/blocks
src/fonts
src/img
src/js
src/views/pages
src/styles
src/views
src/.htaccess
dist
- папка, из которой запускается локальный сервер для разработки (при запуске yarn run dev
)gulp-tasks
- папка с Gulp-таскамиyarn run lint:styles
- проверить SCSS-файлы. Для VSCode необходимо установить плагин. Для WebStormили PHPStorm необходимо включить Stylelint в Languages & Frameworks - Style Sheets - Stylelint
(ошибки будут исправлены автоматически при сохранении файла)yarn run lint:styles --fix
- исправить ошибки в SCSS-файлахyarn run lint:scripts
- проверить JS-файлыyarn run lint:scripts --fix
- исправить ошибки в JS-файлахyarn run dev
- запуск сервера для разработки проектаyarn run build
- собрать проект с оптимизацией без запуска сервераyarn run build:views
- скомпилировать Pug-файлыyarn run build:styles
- скомпилировать SCSS-файлыyarn run build:scripts
- собрать JS-файлыyarn run build:images
- собрать изображенияyarn run build:webp
- сконвертировать изображения в формат .webp
yarn run build:sprites
- собрать спрайтыyarn run build:fonts
- собрать шрифтыyarn run build:favicons
- собрать фавиконкиyarn run build:gzip
- собрать конфигурацию Apacheyarn run bem-m
- добавить БЭМ-блокyarn run bem-c
- добавить компонентsrc/blocks/modules
src/views/index.pug
(или в необходимый файл страницы, откуда будет вызываться блок)src/blocks/modules/_modules.scss
src/js/import/modules.js
Пример структуры папки с БЭМ-блоком:
blocks
├── modules
│ ├── header
│ │ ├── header.pug
│ │ ├── header.js
│ │ ├── header.scss
Чтобы вручную не создавать соответствующие папку и файлы, достаточно в консоли прописать следующие команды:
yarn run bem-m my-block
- для создания БЭМ-блока в src/block/modules
(для основных БЭМ-блоков), где my-block
- имя БЭМ-блока;yarn run bem-с my-component
- для создания компонента в src/blocks/components
(для компонентов), где my-component
- имя компонентаsrc/blocks/components
src/views/index.pug
(или в необходимый файл страницы, откуда будет вызываться компонент)src/blocks/components/_components.scss
src/js/import/components.js
src/views/pages
src/views/layouts/default.pug
src/views/index.pug
src/fonts
.woff
и .woff2
src/styles/base/_fonts.scss
src/img
src/img/favicon
и иметь размер не менее 1024px x 1024px
.webp
. Подробная информация по использованию тут.node_modules
yarn add package_name
import $ from "jquery";
src/styles/vendor/_libs.scss
src/js/import
создать папку pages
pages
создать js-файл для страницы, например, pageA.js
, и импортировать туда библиотеку, которая будет использоваться только на этой странице
webpack.config.js
в точку входа добавить js-файлы страниц, пример:entry: {
main: "./src/js/index.js",
pageA: "./src/js/import/pages/pageA.js",
pageB: "./src/js/import/pages/pageB.js"
}
В сборщик включена CSS-сетка smart-grid от Дмитрия Лаврика. Она позволяет избавиться отлишних классов в разметке за счёт использования примесей в SCSS и ускоряет адаптивную вёрстку. Конфигурация уже настроена в соответствии с сеткой Bootstrap. Инструкция по использованию здесь.
Используйте эту сборку.
Сообщайте мне о багах, ставьте звёздочку в правом верхнем углу, задонатьте мне на пиво
pug跳转到另一个pug 受到真实故事的启发 (Inspired by a true story) 让我们一起去旅行吧… (Let’s take a journey…) Imagine you are on the call list for a freelance agency in a city of your choosing. Now let’s say you get a nice me
Pug(原名 Jade,因商标问题改名)是一个强大、优雅、功能丰富的 Node.js 模板引擎。 Pug 的一般渲染过程很简单,pug.compile()会将 Pug 源码编译成 JavaScript 函数,该 JavaScript 函数将数据对象locals作为参数,调用该结果函数,将返回与数据一起呈现的 HTML 字符串。 可以重复使用已编译的函数,并使用不同的数据集调用该函数。 //- te
Koa-pug A Pug middleware for Koa. Support Pug@3. How to use npm install koa-pug --save const Koa = require('koa')const path = require('path')const Pug = require('koa-pug')const app = new Koa()const pu
这篇快速上手指南将教你如何使用Gulp构建TypeScript,和如何在Gulp管道里添加Browserify,uglify或Watchify。 本指南还会展示如何使用Babelify来添加Babel的功能。 这里假设你已经在使用Node.js和npm了。 我们首先创建一个新目录。 命名为proj,也可以使用任何你喜欢的名字。 mkdir proj cd proj 我们将以下面的结构开始我们的工程
更改历史 * 2017-11-12 杨海月 增加xxx内容,更改xxx内容,删除xxx内容 * 2017-11-01 胡小根 初始化文档 第一章 历史、现状及发展 1.1 gulp历史 gulp是前端开发过程中一种基于流的 代码构建工具 ,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,不仅可
gulp-scss-starter �� Особенности именование классов по БЭМ используется БЭМ-структура используется препроцессор SCSS используется транспайлер Babel для поддержки современного JavaScript (ES6) в браузе
�� Gulp Webpack Starter Gulp Webpack Starter - fast and simple web development toolkit.It uses Gulp task runner and Webpack bundler.The starter perfectly fits building static HTML templatesor speeding