English description | Описание на русском
Вся конфигураци сборщика находится в одном файле — tars-config.js в корне проекта.
Нужно перезапустить сборку, чтобы изменения применились.
Type: Array
Default: []
Example:
postcss: [
{
name: 'postcss-short',
options: {
deny: ['text']
}
}, {
name: 'postcss-size',
options: {}
}
]
Здесь можно перечислить используемые постпроцессоры. Обязательно выполните установку используемых постпроцессоров.
Type: Object
Конфиг для работы с svg-графикой в TARS.
Type: Boolean
Default: true
Включение поддержки svg в проекте.
Type: String
Default: sprite
Способ работы с svg-графикой. Доступны SVG-спрайт и SVG-symbols.
Поддерживаются значения sprite
для использования SVG-спрайтов и symbols
для svg-symbols.
При выборе "symbols", сборка для IE8 недоступна
Type: Object
Описывает конфиг для работы с svg-symbols.
Type: String
Default: inject
Устанавливает способ подключения svg-symbols на странице.
Поддерживаются значения:
inject
— инжект в тело HTML;separate-file
— хранение в отдельном файле;separate-file-with-link
— хранение в отдельном файле, при этом каждая иконка подключается из этого файла.
Type: Boolean
Default: true
Хранение в отдельном файле нативно поддерживается во всех современных браузерах, кроме IE9 - Edge. Для них используется полифл. Если вы не поддерживаете эти браузеры, то можете выставить false.
Type: String
Default: ''
Вы можете задать путь, по которому файл с svg-symbols будет находится в проекте. По умолчанию файл создается в корне готовой сборки.
Пример значения: static/images/
.
Type: Object
Конфиг для работы с CSS в TARS. Доступен с версии TARS 1.8.0.
Type: String
Default: concat
Способ обработки CSS-кода.
Доступны:
concat
— конкатенация CSS-файлов в один в определенном порядке;manual
— использование точек входа (основных файлов), в которые импортируются файлы стилей проекта.
Type: Object
Конфиг для работы с JavaScript в TARS. Доступен с версии TARS 1.7.0.
Type: String
Default: concat
Способ обработки JavaScript-кода.
Доступны:
concat
— конкатенация JavaScript-файлов в один в определенном порядке;modular
— использование бандлера, который будет разрешать зависимости между JavaScript-файлами.
Type: String
Default: webpack
В bundler можно указать используемый сборщик JavaScript-кода, если в качестве workflow был выбран modular
.
Пока что доступен только webpack
.
Type: Boolean
Default: true
Включение проверки ошибок в JavaScript-коде и code-style (опции для eslint находятся в корне, в файле .eslintrc
. Весь список доступных опций можно найти тут). Также, вы можете точечно отключить линтинг файлов используя .eslintignore
в корне проекта.
Type: Boolean
Default: false
Данная опция позволяет использовать Babel для поддержки ES6(ES7) синтаксиса. Конфиг для babel находит в корне проекта, в файле .babelrc
. С доступными опциями .babelc можно ознакомится на официальном сайте. Вам не нужно задавать опции 'filename' и все что связанно с 'sourcemaps', так как эти оцпии уже заданы в сборщике.
Type: Object
Здесь можно управлять подключением особенных фич для webpack.
Type: Boolean
Default: false
Включение технологии горячей замены компонентов (Hot module replacement).
Type: Object
Default: {}
Параметры для Provide Plugin. Автоматически загружаемые модули.
Type: Boolean
Default: true
Удаление console.log, alert и debugger из JavaScript-файлов в сборке. Является опцией, так как иногда требуется оставить console.log в готовой сборке.
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
).
Type: Object
Default:
sourcemaps: {
js: {
active: true,
inline: true
},
css: {
active: true,
inline: true
}
},
Конфиг для sourcemaps. Sourcemaps для js и css работают только в dev-режиме. active {Boolean}: использовать sourcemap или нет. inline {Boolean}: использовать встроенные сорсмапы или генерировать их отдельным файлом.
Конфиг для модуля нотификаций.
При включенных вотчерах, при изменениях в файлах проекта будут выдаваться системные уведомления, в которых будет указано, какой файл изменен, какой таск выполнен.
Имеет вложенные опции.
Type: Boolean
Default: true
Включение нотификации. Отключить нотификации можно с помощью переменных окружения:
export DISABLE_NOTIFIER=true;
#или
export NODE_ENV=production;
Переменные окружения имеют больший вес и перезаписывают значение в tars-config.js
Type: String
Default: 'TARS notification'
Каждая нотификация имеет тайтл. Если вы хотите видеть другой тайтл, то смело меняйте эту опцию.
Звуковые уведомления при нотификациях
Type: String, undefined
Default: undefined
В данную опцию передается название системного звука, который будет звучать при нотификации, если сборка прошла успешно. Если звуков не нужно, то просто оставляйте undefined
.
Type: String, undefined
Default: undefined
В данную опцию передается название системного звука, который будет звучать при нотификации, если сборка прошла с ошибками. Если звуков не нужно, то просто оставляйте undefined
.
Type: Boolean
Default: false
Включение минифицирования HTML. Если опция установлена в false
, то скомпилированный HTML будет отформатирован.
Type: Boolean
Default: true
Включает построение относительного пути от текущей страницы до папки со статикой. В случае использования сервера, который будет раздавать статику (например, режим livereload) путь до статики не будет генерироваться, так как статика раздается сервером.
Type: String
Default: './builds/'
В данную опцию передается строка с относительным или абсолютным путем к той папке, куда должен собираться проект. Если используется useBuildVersioning (использовать версионирование билдов), то каждый новый билд будет находится в отдельной папке с именем — версией билда, и каждая эта папка будет находится по пути, указанном в buildPath.
Type: Boolean
Default: true
Использовать версионирование билдов. Название версии состоит из имени билда + дата создания билда (точность до секунды).
Type: Boolean
Default: true
Создание архива с готовой версткой. Архив создается внутри папки с билдом. Если вы указали в файле package.json имя проекта, то имя архива будет взято оттуда, иначе по умолчанию будет 'build'. Также будет добавлена дата создания билда (точность до секунды).
Type: Number
Default: 4096
По умолчанию, число одновременно открытых файлов в ОС (Unix-системах) ограничено. Так как TARS работает на Gulp, то число одновременно открытых файлов может быть велико. Чтобы избежать проблем с этим, можно настроить ulimit (в нашем случае настраивается число одновременно открытых файлов). Если в проекте используется значительное число файлов и часть из них не попадает в конечную сборку, то просто увеличьте даную опцию.
Данные опции можно менять только перед командой init
, так как ни на какую команду они больше не влияют. Кроме useImagesForDisplayWithDpi
, об этом подробнее ниже.
Type: String
Default: handlebars
Options: jade
, pug
, handlebars
В данной опции указывается используемый шаблонизатор. Доступны jade, pug и handlebars. В опцию передается название шаблонизатора с маленькой буквы.
Если вы хотите писать на простом html, то оставьте опцию без изменений.
Type: String
Default: scss
Options: scss
, sass
, less
, stylus
В данной опции указывается используемый css-препроцессор. Доступны scss, less или stylus. В опцию передается название css-препроцессора с маленькой буквы.
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
.
Опции для именования основных папок со статикой. Если вы меняете опции из этого блока перед командой gulp|tars init
, то больше ничего делать не нужно. Если опция меняется потом, то необходимо руками переименовать соответствующие директории.
Type: String
Default: 'static'
Имя папки, в которой будет лежать статика проекта. Если вы только разрабатываете проект локально, то необходимо, чтобы значение этой опции совпадало со значением опции staticPrefix
Type: String
Default: 'img'
Имя папки, в которой будут лежать картинки проекта. Чаще всего именно эта папка имеет различные значения, поэтому название этой директории опционально.
Type: String
Default: 'components'
Имя папки, в которой будут лежать компоненты (модули для TARS версии 1.7.0 и ниже) проекта.
Опция больше не поддерживается, используйте svg.active
Type: Boolean
Default: true
Включение поддержки сборщиком svg-изображений.
Опция больше не поддерживается, а значение задается в tars/tars.js
Type: String
Default: ../imageFolderName/
Кастомный пути до папки со статикой из css-файлов. imageFolderName берется из опции imagesFolderName
Опция была переименована в lint и находится в конфиге js.
Какие еще браузеры доступны, можно глянуть тут.
Опция была переннесена в plugins-config.json.
Конфиг для модуля Browsersync. Данный модуль реализует возможность livereload в браузере, расшаривание верстки во внешний веб, создание локального сервера.
Опция была переннесена в plugins-config.json. На данный момент вы можете передать любую опцию для browsersync.
Значение данной опции задает значение плейсхолдеру %=static=% (static или %=staticPrefix=% до версии TARS 1.6.0), который может использоваться в любых файлах проекта.
Опция больше не поддерживается, а значение задается в tars/tars.js