1.0.0 • Published 4 years ago

project-name-here v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

Webpack Boilerplate

Требование:

  • Node.js версии 11 или выше (https://nodejs.org/en/). С нодой автоматически ставится пакетный менеджер - NPM (Node Package Manager) (https://www.npmjs.com/). Проверить версию ноды можно командой node -v.
  • Для сабсеттинга шрифтов:

В сборку включены:

Список всех npm-пакетов можно посмотреть в файле package.json.

Базовая конфигурация через app.config.js

  • LANGUAGE - язык сайта, запишется в lang-атрибут.
  • TITLE - тайтл, запишется в тег в .
  • DESCRIPTION - дескришпн, запишется в тег , а также в соответствующие og-метатеги.
  • THEME_COLOR - цвет темы сайта (нужно для Progressive Web App).
  • BACKGROUND_COLOR - цвет фона сайта (нужно для Progressive Web App).
  • USE_HTML - нужно ли генерировать HTML. Если верстаем сразу в php-файле, ставим этот флаг в "false".
  • HTML_PRETTY - человекопонятнон форматирование сгенерированного вебпаком HTML-файлов.
  • USE_FAVICONS - нужно ли генерировать множество иконок для разных платформ (нужно для Progressive Web App).
  • USE_COMPRESSION - нужно ли сжимать ассеты с помощью алгоритмов gzip, brotli, zopfli в процессе сборки.
  • USE_SERVICE_WORKER - нужно ли генерировать service worker.
  • SENTRY_DSN - заполняем DSN-идентификатором, если подключаем sentry.
  • PUBLIC_PATH - публичный абсолютный путь от корня сайта до папки с фронтендом. По умолчанию "/".
  • PUBLIC_PATH_BITRIX - публичный абсолютный путь от корня сайта до папки с фронтендом. Для bitrix-сборки.
  • PUBLIC_PATH_SANDBOX - публичный абсолютный путь от корня сайта до папки с фронтендом. Для sandbox-сборки.
  • SRC_PATH - путь до исходников.
  • BUILD_PATH - путь до билда.

Обзор комманд:

  • npm run browserslist — список поддерживаемых браузеров
  • npm run dev — сборка в development-режиме
  • npm run watch — watch в production-режиме
  • npm run watch:dev — watch в development-режиме
  • npm run watch:prod — watch в production-режиме
  • npm run lint:js — линтер js
  • npm run lint:html — линтер html
  • npm run lint — запуск всех линтеров (для проверки корректности html/js перед тем, как отдать бэкендеру)
  • npm run subsetting — сабсеттинг шрифтов (удаляются неиспользуемые глифы, значительно уменьшается размер шрифта).
  • npm start — сервер в development-режиме (node-сервер)
  • npm run build — сборка в production-режиме (publicPath === "/")
  • npm run build:sandbox — сборка в production-режиме (publicPath === "/sand/{project-name}/" - для деплоя на sandbox-сервер Chipsa)
  • npm run build:bitrix — сборка в production-режиме (publicPath === "путь от корня до папки с фронтендом")
  • npm test — запуск тестов

Полезные npm-пакеты:

@babel/cli@babel/core@babel/plugin-transform-runtime@babel/preset-env@babel/runtime@gfx/zopfli@sentry/browser@types/validatorautoprefixerbabel-eslintbabel-loaderbabel-plugin-transform-async-to-promisesbabel-preset-airbnbbootstrapbrotli-webpack-pluginbrowser-syncbrowser-sync-webpack-pluginbrowserslistcase-sensitive-paths-webpack-pluginclean-webpack-plugincomlinkcompression-webpack-plugincopy-webpack-plugincore-jscross-envcss-hot-loadercss-loadercss-mqpackercssnanodeasyncelement-matches-polyfilleslinteslint-config-airbnb-baseeslint-loadereslint-plugin-importexpose-loaderfile-loaderflat-cachefocus-visiblefront-matterglobhtml-beautify-webpack-pluginhtml-webpack-pluginhtmllintimagemin-gifsicleimagemin-jpegtranimagemin-mozjpegimagemin-optipngimagemin-pngquantimagemin-svgoimagemin-webpackimports-loaderintersection-observerloader-utilslodash.debouncelodash.mergemd5-filemini-css-extract-pluginnode-sassnpm-run-allnunjucksopen-clipicturefillpostcsspostcss-browser-reporterpostcss-custom-propertiespostcss-devtoolspostcss-easingspostcss-flexbugs-fixespostcss-focuspostcss-focus-visiblepostcss-focus-withinpostcss-font-displaypostcss-image-set-polyfillpostcss-input-stylepostcss-loaderpostcss-object-fit-imagespostcss-reporterpostcss-responsive-typepostcss-sortingpostcss-urlpostcss-will-changeposthtmlposthtml-rendersass-loaderschema-utilssharpslashsort-css-media-queriesstyle-loadersvgotapableterser-webpack-pluginurl-loadervalidatorwebpackwebpack-bundle-analyzerwebpack-cliwebpack-logwebpack-manifest-pluginwhatwg-fetchworkbox-webpack-plugin
1.0.0

4 years ago