Существует ли обычный способ структурирования файлов / кодов таким образом, чтобы он поддерживал несколько проектов / веб-сайтов?
Моя текущая настройка примерно такова:
root_folder
|_node_modules/
|_common_js_files/
|_common_style_files/ // scss, css, etc
|_common_asset/ // images, fonts, etc
|_project1/ // non-component website
| |_node_modules/ // node modules specifically for this projects
| |_src/
| | |_own_styles/
| | |_own_assets/
| | |_own_js/
| | |_dir/
| | | |_subdir/
| | | | |_sub-sub-page.html
| | | |_sub-page.html
| | |_index.html // has reference to sub-page and/or sub-sub-page
| |_dist/
| |_(webpacked version of src/)
|
|_project2/ // component-based project in vue
|_node_modules
|_src/
| |_components/
| | |_comp1/
| | |_...
| | |_compnN/
| |_webpack.config.js
| |_App.vue
| |_main.js
| |_index.html
|_dist/
|_(compiled/webpacked version)
Я должен отметить, что ни один из этих проектов не связан.
Так что конкретные вопросы сводятся к этим:
- Просто копировать необходимые файлы из папок
common
в каждый проект при запуске? - Сделать git ветку для отдельных проектов?
- Я использую виртуальный хостинг.Развернуть ли я все в папке
root_folder
или только в папке dist
для каждого проекта? - Есть ли способ сделать это с помощью git?
- В приведенной выше структуре было бы более разумно использовать маршрутизатор (на основе переднего или заднего плана)обслуживать нужный файл, вместо того чтобы сделать соответствующую файловую структуру в бэкэнде?Под этим я подразумеваю, что если
example.com/index.html
указывает на example.com/dir/sub-page.html
и / или example.com/subdir/sub-sub-page.html
, я должен структурировать свою страницу, как указано выше, или как:
пример
src
|_index.html
|_sub-page.html
|_sub-sub-page.html
Вот несколько мета-вопросов:
- Где я могу научиться таким мягким навыкам?Я не могу найти какого-либо определенного руководства о том, как достичь своих целей.
- Существует ли стандартный / традиционный способ сделать это, или это действительно только для отдельного человека / компании?
- Если нет никакого стандартного / обычного способа, могу ли я просто разработать свойсвой стиль в процессе наращивания опыта?
- Любые другие советы / рекомендации о том, как я могу улучшить свою структуру, описанную выше?