Почему рельсы требуют JavaScript Runtime? - PullRequest
40 голосов
/ 12 марта 2012

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

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

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

Итак, Почему для рельсов требуется JavaScript Runtime?

Ответы [ 2 ]

30 голосов
/ 13 марта 2012

Посмотрите на Rails Asset Pipeline .Это делает вещи с JavaScript (и CSS) файлами.В частности:

  1. Конвертирует CoffeeScript в JavaScript
  2. Объединяет все файлы JavaScript в один
  3. Сокращает этот файл

JavaScriptвремя выполнения используется для минимизации .

1 голос
/ 13 марта 2012

Railsguides говорит, что это связано со сжатием:

Для использования uglifier вам понадобится среда выполнения, поддерживаемая ExecJS.Если вы используете Mac OS X или Windows, в вашей операционной системе установлена ​​среда выполнения JavaScript.Обратитесь к документации ExecJS за информацией обо всех поддерживаемых средах выполнения JavaScript.

http://guides.rubyonrails.org/asset_pipeline.html#javascript-compression

Мне показалось, что я видел, что Rails действительно проверяет действительность таблиц стилей и JavaScript вваше приложение, но, возможно, это была просто предварительная обработка SASS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...