Я собираюсь попробовать свой первый проект AngularJS, и имеет смысл использовать Node.js для задней части, хотя это означает одновременное изучение как AngularJS, так и Node.js.
Первое, что я пытаюсь раздобыть, - хорошая файловая структура. Пока мой чистый шаблон HTML/CSS имеет следующую структуру каталогов...
_site/
Fonts/
Javascript/
SASS/
Stylesheets/
Index.html
(_site - это рабочий каталог для PSD и т.д.)
Я нашел примерную структуру каталогов для Node.js/AngularJS app здесь....
..., который предлагает следующую структуру каталогов.
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
Итак, это выглядит неплохо для меня (за исключением того, что я не буду использовать Jade).
У меня все еще есть следующие вопросы...
-  Я хочу, чтобы все интерфейсные и клиентские файлы были разделены. Это решение ставит все файлы front-end в общедоступный/каталог, который имеет смысл, потому что большинство должно быть общедоступным, но имеет ли смысл размещать здесь SASS и _site? Я мог бы просто держать их там, но не загружать их, когда я их запускаю, но это кажется неправильным, потому что они не должны быть публичными. Они также не относятся к корневому уровню со всеми исходными материалами. 
-  Не лучше ли загружать AngularJS из CDN? 
-  Учитывая, что серверу потребуется только один шаблон (основной шаблон приложения), и все остальные HTML будут построены на интерфейсе, не имеет смысла держать файл index.html статическим, удалите папку представлений и создайте папку partials/public под общим/как это делает оригинальное приложение SealJS Seed? 
Я понимаю, что все это вопрос мнения, и я мог бы технически разместить их там, где захочу, но я надеюсь, что кто-то более опытный, чем я, мог бы посоветовать мне подводные камни различных структур каталогов.



