-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.js
153 lines (148 loc) · 5.93 KB
/
config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
var dest = './';
var src = './source';
// Время перезагрузки барузера
var serverReloadDelay = 2000;
var serverAddress = 'test.loc';
module.exports = {
// Конфиг для browserSync
browserSync: {
// Адрес сайта на который нужно кинуть прокси
proxy : serverAddress,
// IP в локальной сети используется для открытия на других устройствах например
// http://192.168.1.101:3000 - сам сайт,
// http://localhost:3001 - UI где все настраивается
// Если у вас несколько сетевых карт то имеет смыл указать нужный вам ip ниже, автоматически не всегда верно определятеся
// host : '192.168.1.101',
// Запрещаем открывать браузер автоматически
open : false,
// Клики, Скрол и Ввод в поля форм отзеркаливаются на всех устройствах подключенных к серверу
ghostMode : false,
// Перезагружаем сервер при рестарте задачи
reloadOnRestart: true,
'ui' : {
// Кастомный порт для webkit инспектора, можно использовать любой не занятый
'weinre': {
'port': 9090
}
}
},
// Конфиг для Sass
sass: {
// Путь до исходника
src : src + '/sass/*.scss',
// Путь до отслеживаемых файлов где могут происходить изменения
watch : src + '/sass/**/*',
// Путь куда положить сгенерированный файл
dest : dest + '/css',
settings: {
// Стиль выдаваемого файла
outputStyle : 'compressed',
// Писать логи, но не падать
errLogToConsole: true
},
// Путь к карте css
map : dest + '/map',
// Время перезагрузки страницы это важно когда файл не моментально загружается на сервер
delay : serverReloadDelay
},
// Конфиг для autoprefixer
prefix: {
// Не поддерживаем flexbox 2009 года (IE9)
flexbox : 'no-2009',
// Удалять устаревшие префaиксы
remove: false,
// Выстраивать преффиксы каскадом - нет
cascade : false
},
// Конфиг для обработки и сжатия картинки
images : {
// Следить за этой папкой
src : src + '/images/assets/*.{jpg,png,gif,svg}',
// Выгружать при обнаружении сюда
dest: dest + '/images'
},
imagesOptimization: {
// Следить за этой папкой
src : src + '/images/assets/*.{jpg,png,gif,svg}',
// Выгружать при обнаружении сюда
dest: dest + '/images'
},
// Конфиг для сборки спрайта (запускать вручную т.к. много ресурсов требует)
sprite : {
// Следить за этой папкой
src : src + '/images/sprite/png/*.{jpg,png,gif}',
// Выгружать при обнаружении сюда
dest: dest + '/images',
// Записать в scss файл стили для спрайта
css : src + '/sass/helpers'
},
spriteParam: {
// Растоение между изображением в спрайте оно не обходимо из за проблем при зуме в браузере
padding : 5,
// Имя файла спрайта
imgName : 'sprite.png',
// адрес который пишется внутрь css
imgPath : '../images/sprite.png',
// Название файла css, можно использовать расширения, css, less, scss
cssName : '_sprite.scss',
// Алгоритм расположения иконок (top-down, left-right, diagonal, alt-diagonal, binary-tree)
algorithm: 'binary-tree'
},
// Конфиг для сборки SVG спрайта
spriteSvg : {
// Следить за этой папкой
src : src + '/images/sprite/svg/*.svg',
// Выгружать при обнаружении сюда
dest : dest,
config: {
dest : '.',
log : 'verbose',
shape : {
spacing : { // Добавляем отступы (нужно менять значения в зависимости от css иногда там не целые числа получаются)
padding: 1
},
transform: ['svgo']
},
dimension: {
precision: 0 // Плавающая точка
},
mode : {
css: {
dest : '.',
prefix: '@mixin svg-%s()', // Префикс класса
sprite: dest + 'images/sprite.svg', // Путь до svg который подставляется в scss
bust : false, // убираем кешбустре в адресе изображения
render: {
scss: {
template: dest + 'source/sprite.scss.handlebars', // путь до шаблона
dest : 'source/sass/helpers/_sprite-svg.scss' // куда сохраниять файл scss
}
}
}
}
}
},
// Конфиг для сборки js
js : {
// Следить за этой папкой
src : src + '/js/*.js',
watch: [src + '/js/main.js', src + '/js/components/*.js', src + '/js/components/**/*.js'],
// Выгружать при обнаружении сюда
dest : dest + '/js'
},
// Конфиг усиленной углификации js
uglify : {
settings: {
compress: {
sequences : true,
dead_code : true,
conditionals: true,
booleans : true,
unused : true,
if_return : true,
join_vars : true,
drop_console: true
}
}
}
};