Почему файл rails 3 application.js утверждает, что не рекомендуется добавлять туда код? - PullRequest
1 голос
/ 25 февраля 2012

В 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?Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 25 февраля 2012

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

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

1 голос
/ 25 февраля 2012

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

1 голос
/ 25 февраля 2012

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

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

...