Skip to content

Latest commit

 

History

History
executable file
·
447 lines (250 loc) · 18.9 KB

options.md

File metadata and controls

executable file
·
447 lines (250 loc) · 18.9 KB

English description | Описание на русском

Опции

Вся конфигураци сборщика находится в одном файле — tars-config.js в корне проекта.

Нужно перезапустить сборку, чтобы изменения применились.

Изменяемые опции

postcss

Type: Array

Default: []

Example:

postcss: [
        {
            name: 'postcss-short',
            options: {
                deny: ['text']
            }
        }, {
            name: 'postcss-size',
            options: {}
        }
    ]

Здесь можно перечислить используемые постпроцессоры. Обязательно выполните установку используемых постпроцессоров.

svg

Type: Object

Конфиг для работы с svg-графикой в TARS.

active

Type: Boolean

Default: true

Включение поддержки svg в проекте.

workflow

Type: String

Default: sprite

Способ работы с svg-графикой. Доступны SVG-спрайт и SVG-symbols. Поддерживаются значения sprite для использования SVG-спрайтов и symbols для svg-symbols.

При выборе "symbols", сборка для IE8 недоступна

symbolsConfig

Type: Object

Описывает конфиг для работы с svg-symbols.

loadingType

Type: String

Default: inject

Устанавливает способ подключения svg-symbols на странице.

Поддерживаются значения:

  • inject — инжект в тело HTML;
  • separate-file — хранение в отдельном файле;
  • separate-file-with-link — хранение в отдельном файле, при этом каждая иконка подключается из этого файла.
usePolyfillForExternalSymbols

Type: Boolean

Default: true

Хранение в отдельном файле нативно поддерживается во всех современных браузерах, кроме IE9 - Edge. Для них используется полифл. Если вы не поддерживаете эти браузеры, то можете выставить false.

pathToExternalSymbolsFile

Type: String

Default: ''

Вы можете задать путь, по которому файл с svg-symbols будет находится в проекте. По умолчанию файл создается в корне готовой сборки.

Пример значения: static/images/.

css

Type: Object

Конфиг для работы с CSS в TARS. Доступен с версии TARS 1.8.0.

workflow

Type: String

Default: concat

Способ обработки CSS-кода.

Доступны:

  • concat — конкатенация CSS-файлов в один в определенном порядке;
  • manual — использование точек входа (основных файлов), в которые импортируются файлы стилей проекта.

js

Type: Object

Конфиг для работы с JavaScript в TARS. Доступен с версии TARS 1.7.0.

workflow

Type: String

Default: concat

Способ обработки JavaScript-кода.

Доступны:

  • concat — конкатенация JavaScript-файлов в один в определенном порядке;
  • modular — использование бандлера, который будет разрешать зависимости между JavaScript-файлами.

bundler

Type: String

Default: webpack

В bundler можно указать используемый сборщик JavaScript-кода, если в качестве workflow был выбран modular.

Пока что доступен только webpack.

lint

Type: Boolean

Default: true

Включение проверки ошибок в JavaScript-коде и code-style (опции для eslint находятся в корне, в файле .eslintrc. Весь список доступных опций можно найти тут). Также, вы можете точечно отключить линтинг файлов используя .eslintignore в корне проекта.

useBabel

Type: Boolean

Default: false

Данная опция позволяет использовать Babel для поддержки ES6(ES7) синтаксиса. Конфиг для babel находит в корне проекта, в файле .babelrc. С доступными опциями .babelc можно ознакомится на официальном сайте. Вам не нужно задавать опции 'filename' и все что связанно с 'sourcemaps', так как эти оцпии уже заданы в сборщике.

webpack

Type: Object

Здесь можно управлять подключением особенных фич для webpack.

useHMR

Type: Boolean

Default: false

Включение технологии горячей замены компонентов (Hot module replacement).

providePlugin

Type: Object

Default: {}

Параметры для Provide Plugin. Автоматически загружаемые модули.

removeConsoleLog

Type: Boolean

Default: true

Удаление console.log, alert и debugger из JavaScript-файлов в сборке. Является опцией, так как иногда требуется оставить console.log в готовой сборке.

jsPathsToConcatBeforeModulesJs и jsPathsToConcatAfterModulesJs

Type: Array of Strings

Default: []

Данная опция имеет смысл только при выборе concat в качестве workflow. В этом случае весь JavaScript-код проекта собирается в 1 файл, кроме javascript-файлов, которые находятся в директории separate-js. Если необходимо включить в сборку файлы из других мест (например, вы создали отдельную директорию для JavaScript-файлов), то можно прописать в эту опцию путь или массив путей (паттернов путей, типа controllers/**/*.js) до JavaScript-файлов, которые должны попасть в сборку до js-компонентов (jsPathsToConcatBeforeModulesJs) и JavaScript-файлов, которые должны быть подключены после JavaScript-файлов компонентов (jsPathsToConcatAfterModulesJs).

Это будет полезно, при разработке сайта на JavaScript-фреймворке с какими-либо своими сущностями (контроллер, роутер и т.д.). Вам не требуется лезть в таски, просто создавайте отдельные директории, указывайте, за какими файлами следить.

Также есть возможность отключить eslint для этих файлах (опции lintJsCodeBeforeModules и lintJsCodeAfterModules).

sourcemaps

Type: Object

Default:

sourcemaps: {
    js: {
        active: true,
        inline: true
    },
    css: {
        active: true,
        inline: true
    }
},

Конфиг для sourcemaps. Sourcemaps для js и css работают только в dev-режиме. active {Boolean}: использовать sourcemap или нет. inline {Boolean}: использовать встроенные сорсмапы или генерировать их отдельным файлом.

notifyConfig

Конфиг для модуля нотификаций.

При включенных вотчерах, при изменениях в файлах проекта будут выдаваться системные уведомления, в которых будет указано, какой файл изменен, какой таск выполнен.

Имеет вложенные опции.

useNotify

Type: Boolean

Default: true

Включение нотификации. Отключить нотификации можно с помощью переменных окружения:

export DISABLE_NOTIFIER=true;
#или
export NODE_ENV=production;

Переменные окружения имеют больший вес и перезаписывают значение в tars-config.js

title

Type: String

Default: 'TARS notification'

Каждая нотификация имеет тайтл. Если вы хотите видеть другой тайтл, то смело меняйте эту опцию.

sounds

Звуковые уведомления при нотификациях

onSuccess

Type: String, undefined

Default: undefined

В данную опцию передается название системного звука, который будет звучать при нотификации, если сборка прошла успешно. Если звуков не нужно, то просто оставляйте undefined.

onError

Type: String, undefined

Default: undefined

В данную опцию передается название системного звука, который будет звучать при нотификации, если сборка прошла с ошибками. Если звуков не нужно, то просто оставляйте undefined.

minifyHtml

Type: Boolean

Default: false

Включение минифицирования HTML. Если опция установлена в false, то скомпилированный HTML будет отформатирован.

generateStaticPath

Type: Boolean

Default: true

Включает построение относительного пути от текущей страницы до папки со статикой. В случае использования сервера, который будет раздавать статику (например, режим livereload) путь до статики не будет генерироваться, так как статика раздается сервером.

buildPath

Type: String

Default: './builds/'

В данную опцию передается строка с относительным или абсолютным путем к той папке, куда должен собираться проект. Если используется useBuildVersioning (использовать версионирование билдов), то каждый новый билд будет находится в отдельной папке с именем — версией билда, и каждая эта папка будет находится по пути, указанном в buildPath.

useBuildVersioning

Type: Boolean

Default: true

Использовать версионирование билдов. Название версии состоит из имени билда + дата создания билда (точность до секунды).

useArchiver

Type: Boolean

Default: true

Создание архива с готовой версткой. Архив создается внутри папки с билдом. Если вы указали в файле package.json имя проекта, то имя архива будет взято оттуда, иначе по умолчанию будет 'build'. Также будет добавлена дата создания билда (точность до секунды).

ulimit

Type: Number

Default: 4096

По умолчанию, число одновременно открытых файлов в ОС (Unix-системах) ограничено. Так как TARS работает на Gulp, то число одновременно открытых файлов может быть велико. Чтобы избежать проблем с этим, можно настроить ulimit (в нашем случае настраивается число одновременно открытых файлов). Если в проекте используется значительное число файлов и часть из них не попадает в конечную сборку, то просто увеличьте даную опцию.

Частично изменяемые опции

Данные опции можно менять только перед командой init, так как ни на какую команду они больше не влияют. Кроме useImagesForDisplayWithDpi, об этом подробнее ниже.

templater

Type: String

Default: handlebars

Options: jade, pug, handlebars

В данной опции указывается используемый шаблонизатор. Доступны jade, pug и handlebars. В опцию передается название шаблонизатора с маленькой буквы.

Если вы хотите писать на простом html, то оставьте опцию без изменений.

cssPreprocessor

Type: String

Default: scss

Options: scss, sass, less, stylus

В данной опции указывается используемый css-препроцессор. Доступны scss, less или stylus. В опцию передается название css-препроцессора с маленькой буквы.

useImagesForDisplayWithDpi

Type: Array

Default: [96]

В данной опции указываются плотности пикселей различных экранов, которые будут поддерживаться вашим проектом. Поддерживаются значения:

  • 96 — 1 dppx (обычные экраны)
  • 192 — 2 dppx (ретина)
  • 288 — 3 dppx (например, nexus 5)
  • 384 - 4 dppx (например, nexus 6)

На основе данной опции создаются папки для png-изображений различных размеров, для разных экранов. Подробнее в разделе Работа с изображениями.

Данную опцию можно менять когда угодно, но есть пара важных моментов. Если вы меняете данную опцию перед командой gulp|tars init, то больше ничего делать не нужно. Если опция меняется потом, то необходимо руками создать (или удалить) директории в папке static/img/sprite/. Формат названия папки — значение опции + dpi. Например, 192dpi.

fs

Опции для именования основных папок со статикой. Если вы меняете опции из этого блока перед командой gulp|tars init, то больше ничего делать не нужно. Если опция меняется потом, то необходимо руками переименовать соответствующие директории.

staticFolderName

Type: String

Default: 'static'

Имя папки, в которой будет лежать статика проекта. Если вы только разрабатываете проект локально, то необходимо, чтобы значение этой опции совпадало со значением опции staticPrefix

imagesFolderName

Type: String

Default: 'img'

Имя папки, в которой будут лежать картинки проекта. Чаще всего именно эта папка имеет различные значения, поэтому название этой директории опционально.

componentsFolderName

Type: String

Default: 'components'

Имя папки, в которой будут лежать компоненты (модули для TARS версии 1.7.0 и ниже) проекта.

Depricated

useSVG

Опция больше не поддерживается, используйте svg.active

Type: Boolean

Default: true

Включение поддержки сборщиком svg-изображений.

staticPrefixForCss

Опция больше не поддерживается, а значение задается в tars/tars.js

Type: String

Default: ../imageFolderName/

Кастомный пути до папки со статикой из css-файлов. imageFolderName берется из опции imagesFolderName

useJsLintAndHint

Опция была переименована в lint и находится в конфиге js.

autoprefixerConfig

Какие еще браузеры доступны, можно глянуть тут.

Опция была переннесена в plugins-config.json.

browserSyncConfig

Конфиг для модуля Browsersync. Данный модуль реализует возможность livereload в браузере, расшаривание верстки во внешний веб, создание локального сервера.

baseDir

port

open

browser

startUrl

useNotifyInBrowser

injectChanges

Опция была переннесена в plugins-config.json. На данный момент вы можете передать любую опцию для browsersync.

staticPrefix

Значение данной опции задает значение плейсхолдеру %=static=% (static или %=staticPrefix=% до версии TARS 1.6.0), который может использоваться в любых файлах проекта.

Опция больше не поддерживается, а значение задается в tars/tars.js