Какво значи да имаш инсталиран сървър? Аз имам nginx на машината, но той не работи постоянно, а го пускам само когато искам да тествам.
В проекта имам скрипт "www/nserver", който просто пуска nginx в текущата директория. Като не ми трябва повече го спирам със Ctrl-C.
Така се ядва. Докато не се налага да конфигурирам етцконфиг файловете да сервират текущата директория е ОК. Спирането с цтрл-ц също е ОК.
В края на краищата твоето npm run surve
също пуска уеб сървър, само че с повече букви.
А въобще, можеш да си използваш какъвто си искаш уеб сървър за тестване, стига да поддържа FastCGI. Просто трябва да си го настроиш сам. Не знам какво точно прави npm run serve
, но ако поддържа FastCGI, то и с него ще работи.
Относно RWASA от видеото, с него ще работи също перфектно. Сваляш си го, слагаш го в директорията и го стартираш с нужните опции. Нищо не трябва да се инсталира.
...
А относно врапърите за npm/node.js, може и да може, но аз си нямам никаква идея как. Нито защо. Лично на мене подобни идеи (както и за Docker например ми изглеждат като излишно усложняване на работния процес.
Съвсем бърз краш курс по ноде.
Ноде е джабаскрипт интепретатор с малко вградени АПИ-та който се търкаля на бакенда.
Има огромно количество пакети които можеш да ползваш наготово с каквото се сетиш - просто в твоя си скрипт пишеш mport
и той се оправя да ти зареди съответния пакет от поддиректория с името на пакето която се намира в директория node_modules
.
Тъй като всеки ноде проект има нужда от различни външни пакети (отделно за продукция и за разработка), има един файл package.json
в който са описани имената, евентуално местата за сваляне ако не е от официалното регистри, версията която ти трябва. Така всеки фронтовак знае, че трябва да клонира даден проект и да изпълни в него npm install
за да се свалят съответните външни библиотеки локално и да са готови за употреба. За съжаление, хората започнаха да злоупотребяват и сега дори и малки проекти зареждат по няколко десетки мегабайта външпни библиотеки дори и за тривиални неща като дебъг съобщения примерно.
Освен външните зависимости от пакети в този пакетен конфигурационен файл има и разни други интересни неща - име на проекта, автори, урл, емайл + една секция с къстъм скриптове които могат да се стартират с npm run xxxxx
- там интересното е, че можеш да смесваш както шелл команди така и node скриптове които примерно ползваш само по време на разработка - тестов фастцги сървър, транспилатор от тъпскрипт до джабаскрипт, същото за цсс, и каквото още се присетиш.
Т.е. имаше един конфигурационен файл в който описваш в разбираем за човек формат почти всичко важно без сорса за съответния проект - включително и скриптове за тестване, компилиране, пакетиране за деплойване и т.н.. Има и начин да се правят модули писане не на джабаскрипт ами на сипляспляс - това когато ти потрябва нещо по така - аз ги ползвам за комуникация със сериен порт, разните му netlink events и т.н.
Защо ти го казвам - защото преди десетина години реших, да се махам от .нет към нещо което авторите му няма да го променят на всеки 2-3 години и ноде беше май единствения вариант където можеш да направиш почти всичко което е без ограничения. Там където има ограничения пиша на Ц евентуално с инлине асемблер - било то памет, цикли, ватове и кваквото още може да ти дойде на ума. По този начин съм ограничил платформата която трябва да знам добре до само две неща и на практика покривам над 90% от проектите по които съм работил досега. Днешно време няма как да избягаш от това продукта ти да работи в интернет среда и колкото и да е безумен джабаскрипта се налага да го знаеш. И като го знаеш него аз поне не виждам кой знае какъв смисъл да инвестирам в учене и ползване на друга платформа която се припокрива - python, java, .net ... дори и на теб ти се налага да пипаш джабаскритп. Уж пишеш на асемблер само ама форума си иска джабаскрипт както и козата си иска пръч, въпреки, че тук нарочвате колегата, че и той вършел същата работа - с козите де - сега пак ще се разпсува.
Та за мен този начин на правене на проекти ми е перфектен защото гледам само в един файл какво и що трябва за да се подкарат нещата - не ми трябват документации, виките и прочее неща - щом има пакетния скрипт и сорсовете. Също така е перфектен и за масовия фронтовак т.е. така ще може да свалиш летвата за тези които не знаят асемблер но поназнайват цсс и джабаскрипт да помагат.
Ще пробвам първо да го направя това И чак тогава ще погледна що не работи на мобилен телефон като хората.
Сорса спокойно можеш да си го клонираш от github репозитория. Той е винаги актуален.
Няма никаква нужда да компилираш изпълнимите файлове от сорс обаче. Сваляш си бинарният пакет и взимаш компилираните изпълними файлове от там и ги копираш в директорията www/
. (това са 3 файла: engine
, ld-musl-i386.so
и libsqlite3.so
)
Докато не пожелаеш да работиш върху асемблерния код, нищо друго няма да ти трябва. Описанието как да клонираш и компилираш библиотеки и т.н. е само ако искаш да работиш върху асемблерния код. Тука за съжаление нищо не може да се направи. Нормално е за асемблер да ти трябват специфични инструменти и библиотеки.
Ако ще се работи върху фронтенда, сорсът е нужен само и единствено заради .less
файловете (директория templates/
и поддиректориите ѝ), които се компилират до CSS и евентуално сорсовете на изображенията, които се използват във фронтенда.
Ако ще е гарга ще е рошава. Или компилирам всичко или не се занимавам. Така като нещо се счупи ще мога да го дебъгна и да го оправя.
На гитхъб има само read-only mirror.
Но можеш локално да си ползваш git и да ъпдейтваш от github, а на мене просто да ми изпращаш patch файловете и аз ще ги събмитна. Или даже модифицираните файлове директно. Ако ще, просто ги прикачи в пост във форума.
Но въобще, не знам какво против имаш fossil? Това е великолепна система за управление на кода, която особено за малки проекти е на светлинни години по-добра и по-лесна за работа от git. И тъй като е значително по-проста от git, то и нищо не се налага да се учи, ако знаеш git. Виж например тази статия и кажи имаше ли в нея нещо ново или необичайно за тебе? Съмнявам се.
При това fossil не изисква никаква "инсталация", която ти толкова не обичаш. Впрочем аз също и затова няма нито един инструмент, който да използвам и които да изисква инсталация.
Имам против, че трябва да го уча а това иска време. И за да задобрея както на гит ще трябва още повече време. А всичките ми клиенти по които работя ползват гит. При това положение защо да си причинявам дискомфорта да уча нещо което не виждам каква практическа ползва би ми донесло. Да, уважавам автора му, но все пак след толкова години ентусиазирано скачане от технология на технология, вече съм се кротнал и го давам айляк. Като ти е кеф ползвай си го, няма лошо - ще менкаме дифф файлове и готово.