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

Почему рельсы требуют JavaScript Runtime?

Я устанавливал рельсы (v3) в своем Ubuntu Linux Box, и установка не позволяла мне жаловаться на отсутствие времени выполнения javascript. Я сделал некоторый поиск, и оказалось, что рельсы требуют, чтобы на платформе была установлена ​​среда выполнения javascript.

В то время как Windows по умолчанию поставляется с jscript. У моего окна Ubuntu не было js runtime, и я исправил проблему, установив node.js(V8).

AFAIK, js runtime требуется для выполнения кода javascript, а рельсы - это просто веб-фреймворк, в который встроен javascript. Файлы Javascript запускаются только на клиентских компьютерах.

Итак, Почему рельсы требуют JavaScript Runtime?

4b9b3361

Ответ 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.