1

Тема: Який воркфлоу у місцевих фронт-ендщиків?

Хай. От бува риюсь по тирнетах і часто бачу такі штуки як webpack, gulp, npm та ін. Але шо воно, конкретно, таке, і нащо треба, і чому webpack з gulp'ом встановлюються через npm, котрий стоїть в одному рядку з ними?

Зара я роблю тако:
створюю директорії scss для .scss файлів, css для .css файлів, в руті створюю index.pug, а потім запускаю .bat файлик, котрий запускає три команди
live-server
scss ./scss:./css --watch
pug index.pug --watch

ну і пишу якісь коди. Коли зберігаю, то pug рендерить html, і live-server оновлює сторінку в браузері. Але от є проблема - в цей самий час scss створює css, і так виходе, що коли live-server вже оновив сторінку в браузері, scss тільки от скомпілив css, і мені доводиться жмякати ctrl+s знову, аби побачити зміни в браузері.

А як у вас то все робиться, може є якийсь магічний супер крутий сетап?

All you want is a dingle,
What you envy's a schwang,
A thing through which you can tinkle,
Or play with, or simply let hang...

2

Re: Який воркфлоу у місцевих фронт-ендщиків?

npm для жавскрипту - це як composer.phar для php - встановлювач пакунків...

про gulp знаю лише з відгуків, що це те саме, що й grunt, тільки трохи новіше (краще, швидше?) Тож останній зовсім не те саме, що й npm, це щось схоже на make для Сі, де у спеціальних файлах описуються спеціальні команди для вихонання певних дій з вихідним кодом: склеювання та стискання js, генерація css з scss і т. п.

Особисто в мене немає чіткого воркфлоу, бо я не дуже фронтендщик. В конторі, де працюю викориистовують npm та bower (ще один встановщик пакунків) - між ними здається різниця, що перший більш для бекенду використоувється (nodejs, той же grunt встановлюється за допомогою npm), а другий для клієнтських різних шняг. Також у нас використовують sass, в який я влазю раз на півроку, коли треба якусь дрібноту підправити, але не хочеться це робити за допомогою inline-стилів. Ну і вкінець використовуються якісь тулзи (зараз ліньки дивитися, здається одна з них jslint зветься) для склейки й зтискання жаваскриптів. Тож весь воркфлоу полягає в тому, що коли щось змінив у js-файлах, то треба запустити grunt з відповідною вказівкою. До речі трохи не зручно з т. з. відлагодження, бо в стиснутих кодах складно щось знаходити, а тим більше виправляти, тож кожна маленька дія (вставка console.log'у) потребує постійної перезборки жавасриптів. Якби моя воля, я б якось би намагався робити без стискання аж до деплою.

Отаке з особистого досвіду не експерта, але практичного застосування.

Подякували: FakiNyan, karmeljuk, leofun013