Node.js
Структура проекта
Поиск…
Вступление
На структуру проекта nodejs влияют личные предпочтения, используемая архитектура проекта и стратегия внедрения модулей. Также на основе событий, основанной на дуге, которая использует механизм создания динамического модуля. Чтобы иметь структуру MVC, необходимо выделить исходный код на стороне сервера и на стороне клиента, поскольку код на стороне клиента, вероятно, будет сведен к минимуму и отправлен в браузер и будет общедоступным по своему основному характеру. И серверная или серверная часть предоставит API для выполнения операций CRUD
замечания
В приведенном выше проекте используются модули браузера и vue.js в качестве базового представления приложений и библиотек минимизации. Таким образом, структура проекта может незначительно измениться на основе используемой вами структуры mvc. Например, в каталоге сборки публично должен быть указан весь код mvc. У вас может быть задача, которая сделает это за вас.
Простое приложение nodejs с MVC и API
- Первое важное различие заключается в динамически созданных каталогах, которые будут использоваться для хостинга и исходных каталогов.
- У исходных каталогов будет файл конфигурации или папка в зависимости от объема конфигурации, который у вас может быть. Это включает конфигурацию среды и конфигурацию бизнес-логики, которую вы можете поместить в каталог конфигурации.
|-- Config
|-- config.json
|-- appConfig
|-- pets.config
|-- payment.config
Теперь наиболее важные каталоги, в которых мы различаем серверную часть / бэкэнд и интерфейсные модули. Сервер 2-х серверов и webapp представляют собой бэкэнд и интерфейс, которые мы можем выбрать для размещения в исходной директории. src .
Вы можете использовать разные имена в соответствии с личным выбором для сервера или webapp в зависимости от того, что имеет смысл для вас. Удостоверьтесь, что вы не хотите делать это слишком долго или сложным, поскольку это в конечном итоге внутренняя структура проекта.
Внутри каталога сервера вы можете иметь контроллер, App.js / index.js, который будет вашим основным файлом nodejs и начальной точкой. Сервер dir. также может иметь dto- dir, который содержит все объекты передачи данных, которые будут использоваться контроллерами API.
|-- server |-- dto |-- pet.js |-- payment.js |-- controller |-- PetsController.js |-- PaymentController.js |-- App.js
Каталог webapp можно разделить на две основные части public и mvc , на это снова влияет стратегия построения, которую вы хотите использовать. Мы используем browserfiy для сборки MVC-части webapp и минимизации содержимого из простой директории mvc .
| - Охота и рыбалка
Теперь общий каталог может содержать все статические ресурсы, изображения, css (вы также можете иметь файлы saas) и, самое главное, файлы HTML.
|-- public
|-- build // will contianed minified scripts(mvc)
|-- images
|-- mouse.jpg
|-- cat.jpg
|-- styles
|-- style.css
|-- views
|-- petStore.html
|-- paymentGateway.html
|-- header.html
|-- footer.html
|-- index.html
Каталог mvc будет содержать интерфейсную логику, включая модели , контроллеры представлений и любые другие модули utils, которые могут вам понадобиться как часть пользовательского интерфейса. Также index.js или shell.js в зависимости от того, какой из них будет принадлежать, вы также являетесь частью этого каталога.
|-- mvc |-- controllers |-- Dashborad.js |-- Help.js |-- Login.js |-- utils |-- index.js
Итак, в заключение вся структура проекта будет выглядеть ниже. И простая задача сборки, такая как gulp browserify , минимизирует сценарии mvc и публикует в общедоступном каталоге. Затем мы можем предоставить этот общий каталог как статический ресурс через express.use (satic ('public')) api.
|-- node_modules
|-- src
|-- server
|-- controller
|-- App.js // node app
|-- webapp
|-- public
|-- styles
|-- images
|-- index.html
|-- mvc
|-- controller
|-- shell.js // mvc shell
|-- config
|-- Readme.md
|-- .gitignore
|-- package.json