Подтвердить что ты не робот

Как вы организовываете свои базовые файлы?

Я ищу, чтобы внедрить магистраль в большой веб-проект с несколькими "приложениями", которые будут использовать его, и я пытаюсь найти хороший способ организовать мои файлы. Эти два вопроса, которые я привел до сих пор, заключаются в следующем:

js
+- models
|  +- search
|  |  +- result.js
|  |  +- ...
|  +- cart
|  |  +- item.js
|  |  +- ...
|  ...
+- collections
|  +- search
|  |  +- results.js
|  |  +- ...
|  +- cart
|  |  +- items.js
|  |  +- ...
|  ...
+- views
|  +- search
|  |  +- resultRow.js
|  |  +- ...
|  +- cart
|  |  +- itemRow.js
|  |  +- ...
|  ...
+- routers
|  +- search
|  +- cart
|  ... 

и

js
+- search
|  +- models
|  |  +- result.js
|  |  +- ...
|  ...
|  +- collections
|  |  +- results.js
|  |  +- ...
|  ...
|  +- views
|  |  +- resultRow.js
|  |  +- ...
+- cart
|  +- models
|  |  +- item.js
|  |  +- ...
|  ...
|  +- collections
|  |  +- items.js
|  |  +- ...
|  ...
|  +- views
|  |  +- itemRow.js
|  |  +- ...
+- routers
|  +- search
|  +- cart
|  ... 

Я склоняюсь к последнему, поскольку он имеет более четкие линии между разделами веб-сайта и поддерживает совместное использование приложений, но наша текущая структура внутренней структуры намного больше похожа на предыдущую.

4b9b3361

Ответ 1

я бы пошел с измененной версией второй... в основном, отбрось папки для m, v и c в каждом разделе вашего сайта. там действительно нет необходимости разделять их на подпапки, когда имена файлов и имена классов уже будут отражать то, что они есть.

js
+- search
|  +- result.js
|  +- results.js
|  +- resultRow.js
|  +- ...
+- cart
|  +- item.js
|  +- items.js
|  +- itemRow.js
|  +- ...
+- routers
|  +- search
|  +- cart
|  ... 

глядя на этот макет, я все еще знаю, что "элемент" - это модель, "элементы" - это коллекция, а "itemRow" - это представление, потому что это соглашение, которое вы настроили. добавление дополнительного слоя имен папок просто добавляет сложности и не добавляет никакой ценности, на мой взгляд.

также - (вы, вероятно, знаете это, но в случае, если другие читают это сообщение, не...) обязательно используйте что-то вроде require.js для консолидации/минимизации всех ваших js в один файл перед развертыванием на вашем производственных условиях. поддерживающий код, подобный этому, отлично подходит для разработки и отладки. но когда приходит время, когда производственная система использует код, разделение его на несколько файлов вызывает значительные задержки для конечного пользователя. require.js решает эту проблему, предоставляя простой способ иметь обе - организованные файлы во время работы dev и один минитипированный файл для производства.