Простой шаблон на основе webpack, pug, stylus, es6, postcss для многостраничных приложений.
Для вопросов, ошибок и улучшений используйте вопросы.
git clone [email protected]:evgen3/mpa-frontend-template.git your-project-name
cd your-project-name && rm -rf .git
yarn
yarn build
— сборка проекта для производства (включает UglifyJSPlugin, cssnano);yarn watch
— создайте и начните следить за разработкой (включая исходные карты);yarn start
— сборка, просмотр и локальный сервер для разработки (включает перезагрузку файлов изменений);yarn lint
— js-код lint в папке src с правилами airbnb. В файле pug/includes/require.pug находится функция, использование:
img ( src = 'upload/sample.jpg' srcset = ` upload/[email protected] 2x ` alt = '' )
.block ( style = 'background-image: url(upload/sample.jpg);' )
Для краткости добавьте в файл pug/mixins/img.pug расположенный миксин, используя:
+ img( 'sample.jpg' ) ( alt = 'image' ) .some-class
Внимание! Для этого миксина требуется изображение двойного размера (для srcset), и ссылка уже включена в каталог upload/
.
Установите зависимость (например, swiper):
yarn add swiper
Импортируйте зависимость в main.styl один раз:
@require '~swiper/dist/css/swiper.css'
Символ ~
в стиле указывает на папку node_modules.
Установите зависимость (например, Sticky-Kit):
yarn add sticky-kit
Импортируйте зависимость в main.js один раз:
import 'sticky-kit/dist/sticky-kit' ;
Установите зависимость (например, swiper):
yarn add swiper
Импортируйте в файл, в котором вам нужна зависимость:
import Swiper from 'swiper/dist/js/swiper' ;
@ в пути указывает на папку src, с его помощью вы можете создать абсолютный путь. CSS:
src: url("~@/font/rouble-webfont.woff") format("woff")
ЯС:
import module from '@/js/module';
Поместите значок в папку /ico
И добавьте код в свой шаблон:
< svg class =" your-class " width =" 193 " height =" 40 " >
< use xlink:href =" #your-icon-file-name " > </ use >
</ svg >
Или вы можете использовать pug-mixin:
+ icon( 'your-icon-file-name' ) ( width = 193 height = 40 ) .your-class