Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Автоматизируем сборку личного проекта #14

Merged
merged 1 commit into from Jan 13, 2020

Conversation

@keksobot keksobot changed the title Автоматизация сборки проекта Автоматизируем сборку личного проекта Jan 12, 2020
keksobot added a commit that referenced this pull request Jan 12, 2020
@keksobot

This comment has been minimized.

Copy link
Contributor

keksobot commented Jan 12, 2020

♻️ Я собрал ваш пулреквест. Посмотреть можно здесь.

Copy link
Collaborator

efiand left a comment

Принципиальных замечаний нет, но можно немного оптимизировать.

@@ -28,22 +23,94 @@ gulp.task("css", function () {
.pipe(postcss([

This comment has been minimized.

Copy link
@efiand

efiand Jan 13, 2020

Collaborator

Пожелание: перед postcss подключить gulp-combine-mq: это сведет к минимуму количество медиазапросов в итоговом css, что повышает производительность.

});

gulp.task("html", function () {
return gulp.src("source/*.html")

This comment has been minimized.

Copy link
@efiand

efiand Jan 13, 2020

Collaborator

Бывают проекты, верстка которых требует вложенности, поэтому пожелание писать универсально /**/*.html

});

gulp.task("webp", function () {
return gulp.src("source/img/**/*.{png,jpg}")

This comment has been minimized.

Copy link
@efiand

efiand Jan 13, 2020

Collaborator

Плагин игнорирует svg, не вызывая ошибок, поэтому можно подключить две нижеследующие строки сразу после 53-й и минимизировать число задач. Это делать не обязательно, просто дополнение к обучению.

.src([
"node_modules/picturefill/dist/picturefill.min.js",
"node_modules/svg4everybody/dist/svg4everybody.min.js",
"source/js/**/*.js"

This comment has been minimized.

Copy link
@efiand

efiand Jan 13, 2020

Collaborator

Если файл раздуется, можно и свои скрипты разбить на модули


gulp.task("build", gulp.series(
"clean",
"copy",

This comment has been minimized.

Copy link
@efiand

efiand Jan 13, 2020

Collaborator

Всё кроме чистки может идти параллельно, можно оптимизировав, вызвав вложенный gulp.parallel

gulp.watch("source/less/**/*.less", gulp.series("css", "refresh"));
gulp.watch("source/img/icon-*.svg", gulp.series("sprite", "refresh"));
gulp.watch("source/*.html", gulp.series("html", "refresh"));
});

This comment has been minimized.

Copy link
@efiand

efiand Jan 13, 2020

Collaborator

Можно таким же образом настроить слежение за чем угодно. За картинками и спрайтами, может, и не обязательно, но за js чаще всего нужно.

@@ -42,5 +46,7 @@
"engines": {
"node": "8.16"
},
"dependencies": {}
"dependencies": {

This comment has been minimized.

Copy link
@efiand

efiand Jan 13, 2020

Collaborator

del в данном случае используется только для сборки, бэкенда на node у нас нет, на продуктиве сайт (папка build, которую собирает кексобот) не зависит от del, поэтому будет логично перенести в devDependencies (чтобы ничего не поломалось в package-lock, лучше с переустановкой).

<path d="M13.62.02L13.47 0 0 1.41v24.66l13.47 8.02L26.9 26.1l.04-.03V1.41L13.62.01zm11.4 12.1L13.49 5.34v-.1l-.08.05-.1-.06v.11L1.94 12.12V3.15l11.54-1.21 11.55 1.2v8.99zM13.4 6.8l11.52 6.71-4.48 2.64-7.09-4.22-.01 1.41 5.9 3.52-.86.5-5.03-2.99-.01 1.42 3.82 2.27-.78.52-3.03-1.78-.01 1.41 1.85 1.1-1.8 1.07-11.36-6.75L13.41 6.8zM1.93 15.13l11.4 6.79.02 1.04-7.94-4.73-.02 1.42 7.98 4.8.02 1.07-7.97-4.74-.01 1.42 8.02 4.82.04.02 8.14-4.87V17l3.4-2.03v10.02l-11.54 6.87-11.54-6.87v-9.85z"/>
</svg>
</a>
</p>
</footer>

<script src="js/nav.js"></script>
<script src="js/script.js"></script>

This comment has been minimized.

Copy link
@efiand

efiand Jan 13, 2020

Collaborator

Скрипты также полезно минифицировать: gulp-uglify.

@efiand efiand merged commit 2a77171 into htmlacademy-adaptive:master Jan 13, 2020
1 check passed
1 check passed
Travis CI - Pull Request Build Passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.