Я збираюся спробувати свій перший проект AngularJS, і має сенс використовувати Node.js для задньої частини, хоча це означає вивчення як AngularJS, так і Node.js з нуля одночасно.
Перше, що я намагаюся розібратися, це хороша структура файлів. Поки що мій чистий шаблон HTML / CSS має таку структуру каталогів ...
_site/
Fonts/
Javascript/
SASS/
Stylesheets/
Index.html
(_site - це робочий каталог для PSD тощо)
Я знайшов структуру каталогів Прімера для Node.js / AngularJS додатки тут ....
... що пропонує наступну структуру каталогів.
app.js --> Application configuration
package.json --> For npm
public/ --> All of the files to be used in on the client side
css/ --> CSS files
app.css --> Default stylesheet
img/ --> Image files
js/ --> JavaScript files
app.js --> Declare top-level application module
controllers.js --> Application controllers
directives.js --> Custom AngularJS directives
filters.js --> Custom AngularJS filters
services.js --> Custom AngularJS services
lib/ --> AngularJS and third-party JavaScript libraries
angular/
angular.js --> The latest AngularJS
angular.min.js --> The latest minified AngularJS
angular-*.js --> AngularJS add-on modules
version.txt --> Version number
routes/
api.js --> Route for serving JSON
index.js --> Route for serving HTML pages and partials
views/
index.jade --> Main page for the application
layout.jade --> Doctype, title, head boilerplate
partials/ --> AngularJS view partials (partial jade templates)
partial1.jade
partial2.jade
Отже, мені це виглядає цілком непогано (за винятком того, що я б не використовував Джейд).
У мене ще є такі запитання ...
Я хочу тримати всі інтерфейсні та фонові файли окремо. Це рішення поміщає всі інтерфейсні файли у папку public /, що має сенс, оскільки більшість із них мають бути загальнодоступними, але чи є сенс розміщувати тут папки SASS і _site? Я міг би просто тримати їх там, але не завантажувати, коли запускаю їх у виробництво, але це здається неправильним, оскільки вони не повинні бути загальнодоступними. Вони також не належать до кореневого рівня з усіма базовими матеріалами.
Чи не краще було б завантажити AngularJS з CDN ?
Враховуючи, що серверу потрібно буде доставити лише один шаблон (основний шаблон програми), а весь інший HTML буде побудований на фронт-енді, чи не було б більше сенсу зберігати файл index.html статичним, видаляти папку подань і створити частинки / папку під загальнодоступними / як оригінальна програма AngularJS Seed?
Я усвідомлюю, що це все питання думки, і технічно я міг би розмістити їх куди завгодно, але я сподіваюся, що хтось більш досвідчений, ніж я, може порадити мені про підводні камені різних структур каталогів.


