Каков рекомендуемый способ организации больших проектов sproutcore?
Я просто смотрю на Sproutcore (gem версии 1.6.0.1), чтобы посмотреть, что я могу с ним сделать.. так что извини за вопросы новичка...
Я просмотрел учебник и посмотрел на мини-сайт doc.
Мне интересно, как я должен организовать свои файлы исходного кода. После создания действительно простого приложения todo у меня уже есть один беспорядочный монолитный файл javascript, который содержит модель, некоторые представления, некоторые контроллеры представлений и т. д.. я не могу хорошо представить себе это масштабирование.
У меня заметил, что если я добавляю еще один файл js, он автоматически вставляется в проект, когда я загружаю приложение в браузере, но я сомневаюсь, в каком порядке эти файлы идут - в алфавитном порядке мой файл (тест.js) должны были быть включены до todos.js но это было не так.
Каков рекомендуемый подход к организации крупномасштабного приложения; есть ли какие-то рекомендации для этого?
Как ни странно, на сайте sproutcore ничего не было видно..
Что делать, если я хочу поделиться моделями между приложениями, это тоже возможно ?
Спасибо
1 ответ:
Вспомогательные инструменты должны организовать файлы для вас. Конечно, вы можете и не использовать их. Вот структура папок, которую я получил из проекта, который я сделал некоторое время назад
Итак, в корневом каталоге проекта есть
apps
dir,frameworks
dir, а такжеBuildfile
иREADME
(другие вещи, которые вы видите, не нужны для sproutcore).В директории apps вы видите главное приложение (в данном случае sudoku). Под ним, видите ли, каталоги, которые непосредственно относятся к объекты, которые вы собираетесь создать - источники данных, контроллеры, модели, представления, состояния и т. д....Если вы поместите более одного приложения в
apps
dir, вы можете получить доступ к обоим изlocalhost:4020/
, т. е.localhost:4020/app1
vslocalhost:4020/app2
Я не расширял
frameworks
dir, но в нем есть все фреймворки, которые использует проект. Поэтому, если вы хотите изменить sproutcore, вы можете поместить версию, которую вы используете, в фреймворки, и инструменты сборки будут использовать эту версию. Это хорошая идея, чтобы сделать ваш слой модели своей собственной структурой, так что вы можете использовать его с другие проекты, если хотите. Платформа модели должна быть полностью отделена от остальной части приложения; она должна предоставлять API, который будет использовать любое клиентское приложение.В дальнейшем вы можете создавать другие каталоги под этими каталогами по своему усмотрению. Например, если у вас есть сложное приложение вокруг модели
Обратите внимание, что если у вас есть объектPerson
, вы можете создать каталогиperson
в разделеmodels
,views
,controllers
, и т.д., а затем положить свой код в их.PersonController
, то файл имя будетperson.js
согласно конвенции, но это зависит от вас.