Почему в файле rails 3 application.js указано, что туда не рекомендуется добавлять код?

В rails 3 файл application.js был перемещен в assets>javascripts>application.js. В этом файле есть предварительно загруженные комментарии, в которых говорится:

Добавьте новый код JavaScript/Coffee в отдельные файлы в этом каталоге, и они будут автоматически включены в скомпилированный файл, доступный из http://example.com/assets/application.js Не рекомендуется добавлять код прямо сюда, но если вы это сделаете, он появится внизу скомпилированного файла.

Однако во многих учебниках, таких как railscasts, они постоянно добавляют код в файл application.js. Это было еще тогда, когда application.js все еще находился в общей папке. Должен ли этот код быть внутри application.js в rails 3? заранее спасибо


person Steve    schedule 25.02.2012    source источник


Ответы (3)


Я думаю, это зависит от приложения. Если у вас есть приложение с несколькими строками javascript, я бы не стал помещать JS в отдельные файлы. Однако для больших приложений имеет смысл иметь по одному файлу для каждой большой области приложения.

Кроме того, у вас все еще есть возможность не включать все JS все время, то есть, если у вас есть раздел администратора, вы можете использовать javascript_include_tag, чтобы включать только admin.js в соответствующие части вашего приложения.

person Wolfgang    schedule 25.02.2012

Это просто удобство кодирования. Если вы поместите все в один файл (application.js), в конечном итоге это будет беспорядочно, и вы пожалеете об этом.

Но в учебниках люди просто хотят сделать все быстро, поэтому они помещают весь код в application.js.

person You knows who    schedule 25.02.2012

Во-первых, мы говорим о публикации Rails 3.1 application.js? Если да, то я бы сказал, что было бы не очень хорошей идеей писать свой код непосредственно в application.js. В конце концов, ваши активы должны быть предварительно скомпилированы, а все ваши JS должны быть минимизированы в один application.js. Поэтому я думаю, чтобы ваш код был чистым, вы можете написать соответствующий javascript в соответствующих файлах и, возможно, захотите изменить порядок загрузки, явно упомянув их в application.js

person phoenixwizard    schedule 25.02.2012