Все еще изучая основы MEAN и создавая образец проекта из этой статьи, затем решил использовать некоторый инструмент для создания лесов для создания чистой структуры папок для моего проекта, и я столкнулся с YEOMAN и MEANJS. Используемый npm install -g yo
, npm install -g generator-meanjs
и yo meanjs
, все, что работало, как шарм, имело проект прямо напротив меня. Здесь вы можете скачать весь проект MEAN. Немного вещей, которые я просто не понимаю, несмотря на анализ структуры кода за целый день:
public
папке и кто bootsrapps его?app/views
? Особенно такие файлы, как index.server.view.html
и layout.server.view.html
, служат в качестве шаблонов всех других файлов углового вида/файлов HTML. Как они даже подключаются?application.js
является основным файлом приложения AngularJS и кто воплощает это в жизнь? Я не использую ничего подобного Grunt
или Gulp
или Karma
для первого разреза приложения и может решить увеличить его позже, так как я могу удалить их, чтобы получить только архитектуру barebone MEAN, чтобы ее легко понять n.
Да, все ваши интерфейсные элементы находятся в public
папке, и ваш вопрос о папке app/views
самом деле является ответом на то, как ваш угловой загружается:
Папка app/views
содержит одну страницу html, которая будет загружаться в соответствии с запрошенным вами маршрутом на сервере, поэтому, если вы попросите свой сервер отобразить localhost:3000/
он предоставит вам layout.html
и, вероятно, index.html
. В вашем файле макета может быть ng-app="YourApp"
, а также то, что загружает угловой, что, вероятно, под вашим файлом application.js
с чем-то вроде angular.module('YourApp')
. Обратите внимание, что 'YourApp'
ДОЛЖНО быть именем директивы ng-app
в файле макета/индекса и тем, как настраивается угловое значение.
Хорошо, зная, что вы должны заметить, что localhost:3000/home/
будет отображать файлы layout.html
plus home.html
и т.д. Поэтому каждая из этих страниц app/views
должна иметь несколько partials
для работы в качестве приложения SPA для пользователя, например: localhost:3000/home#profile
будет той же страницей просмотра, что и localhost:3000/home#dashboard
, что изменения - угловые частичные.
public
вида папок дляapp/views
в стеке MEAN. Как вы сказали, у моего HTML-файла макета нет ничего похожего наng-app="YourApp"
.ng-app
потому что MEAN.JS 0.3.3 использует Angular ручной загрузки . Если вы проверите файл application.js, вы увидитеangular.bootstrap(document, [ApplicationConfiguration.applicationModuleName]);
строку:angular.bootstrap(document, [ApplicationConfiguration.applicationModuleName]);