Я создал очень большое приложение nodeJs за последние 8 или около того месяцев, и до недавнего времени настройка нашей структуры папок была удачной. Чтобы сделать всю систему более расширяемой и «enterpriseisey», я перерабатываю весь процесс сборки.Использование процесса сборки, такого как Grunt inproduction
Я получил модернизированный файловую систему вида:
|
+-- Gruntfile.js
|
+-- pub
| |
| +-- dist
| | |
| | +-- assets
| | | | +-- images/fonts/etc..
|
+-- sites
| |
| +-- site1
| | |
| | +-- assets
| | | | +-- images/fonts/etc..
|
| +-- site2
| | |
| | +-- assets
| | | | +-- images/fonts/etc..
Каждый из сайтов (site1, site2
) находятся на их собственном репо и только тянут в случае необходимости. Это позволяет мне не повторять код и наследовать разные сайты друг от друга. Когда приложение запускается, мне просто нужно пройти NODE_SITE site1
, а в разработке grunt позаботится обо всем здании/копировании всех активов для меня, помещая все правильные файлы в dist
, поэтому я могу использовать их на своем сайте.
Поскольку Grunt не следует использовать в производстве, что может быть альтернативой? Или просто с помощью задачи grunt copy
?
Grunt - это в первую очередь инструмент для сборки. С каких пор вы не используете инструменты сборки для производства? Вы можете запустить задачу grunt локально, чтобы создать zip-файл или что-то, что вы можете просто загрузить на каждый сайт, или что-то еще, если вы хотите избежать выполнения задач Grunt на производственном сервере. Или сделайте это как часть сборки сервера CI. – GregL