Почему рельсы требуют JavaScript Runtime?
Я устанавливал рельсы (v3) в своем Ubuntu Linux Box, и установка не позволяла мне жаловаться на отсутствие времени выполнения javascript. Я сделал некоторый поиск, и оказалось, что рельсы требуют, чтобы на платформе была установлена среда выполнения javascript.
В то время как Windows по умолчанию поставляется с jscript. У моего окна Ubuntu не было js runtime, и я исправил проблему, установив node.js(V8).
AFAIK, js runtime требуется для выполнения кода javascript, а рельсы - это просто веб-фреймворк, в который встроен javascript. Файлы Javascript запускаются только на клиентских компьютерах.
Итак,
Почему рельсы требуют JavaScript Runtime?
Ответы
Ответ 1
Просмотрите Rails Asset Pipeline. Это причудливый материал с файлами JavaScript (и CSS). Примечательно:
- Он преобразует CoffeeScript в JavaScript
- Он объединяет все файлы javascript в один
- Он уменьшает этот файл
Время выполнения JavaScript используется для минимизации.
Ответ 2
Railsguides говорит, что это связано с сжатием:
Для использования uglifier вам понадобится среда исполнения ExecJS. Если вы используете Mac OS X или Windows, у вас есть среда выполнения JavaScript, установленная в вашей операционной системе. В документации ExecJS содержится информация обо всех поддерживаемых версиях JavaScript.
http://guides.rubyonrails.org/asset_pipeline.html#javascript-compression
Я думал, что видел, что Rails действительно проверяют правильность как таблиц стилей, так и javascript в вашем приложении, но, возможно, это было просто SASS prereocessing.