Конфигурация Source-Map
#
Source-MapПри запуске, Architect читает source-map и создает файлы по указанным в source-map шаблонам, так же source-map хранит параметры, которые будут переданы в шаблон.
Есть 2 формата source-map, оба совместимы друг с другом и можно использовать их одновременно.
source-map-module больше подходит для самостоятельных сущностей, например: компонент button который будет много раз использоваться в разных местах.
source-map-atom подходит для связанных друг с другом сущностей, например мы хотим сверстать страницу users, и для нее нужно создать сразу несколько папок в разных местах проекта по разным шаблонам но с одинаковых именем: users-page, users-component, users-store.
#
Структура source-map-module.jsДля начада разберем из чего состоит файл source-map-module.js В нем есть два объекта aliases и map. Aliases используются для удобства записи названий шаблонов, но Architect также понимает и полное название.
Пример aliases
Основной элемент это map в нем вы указываете пути, по которым будут разложены сгенерированные файлы. Внтури каждого пути есть объект, ключ которого это название компонента, который вы хотите создать, а значение - объект с настройками компонента или строка с названием шаблона.
Все три записи ниже, будут работать одинаково
Пример source-map-module.js
В объект с настройками вы можете положить assets,
который указывает на папку с файлами, которые вам нужны. Эти файлы будут доступны
в _script_.js
указанного в source-map шаблона. В нашем примере по пути
*templates/icons/_script_.js
Также объект с настройками вы можете положить любую переменную, которая вам необходима. в нашем примере передается переменная test со значением 123, она будет вам доступна:
- в интерполяции имени файла через [test]
- в интерполяции шаблона через {test}
- во всех методах описанных в
_script_.js
Вот так выглядит итоговый файл source-map-module.js
Вы можете с легкостью добавлять нужные вам пути, компоненты и остальные настройки, которые нужны для решения ваших задач.
#
Структура source-map-atom.jsКак видно из названия source-map-module.js использует модульный подход к построению архитектуры сгенерированных файлов, но иногода вам может потребоваться атомарная структура для удобства решения ваших задач. Атомарная структура состоит из нескольких связанных друг с другом шаблонов.
Для удобства внутри source-map-atom.js есть объект defaultParams
, в котором
вы можете определить дефолтные настройки шаблонов. Но вы можете обойтись
без него. Так же, defaultParams
можно переопределить
Все три записи ниже, будут работать одинаково
На первый взгляд выглядит немного сложнее, но когда вы начнёте пользоваться, поймёте насколько это удобно.
#
Релативные пути для source-map-atom.jsИногда удобно переопределять пути из defaultParams, делая их относительными.
Ключевым словом здесь является rPath
, ему вы можете передавать путь следующего
вида: '/test'
, 'test'
, 'test/test1/'
, /test/test1
.
#
source-map-atom.js VS source-map-module.jsНиже будут представлены два source-map, которые приведут одинаковому результату генерации файлов
#
Как Architect использует source-map-module.js и source-map-atom.jsВы можете работать как по отдельности с source-map-module.js или source-map-atom.js так и вместе, если какого-то файла нет, Architect выдаст ошибку в консоль
Can not find file source-map-module.js | source-map-atom.js
Но это не повлиеят на корректную работу Architect, хотя бы один файл должен быть для корректной работы.
Теперь, когда мы разобрались с конфигурацией Source-Map файлов, самое время переходить к описанию флагов, которые расширяют возможности работы с Architect и делают её гораздо удобнее.