Pourquoi les rails nécessitent-ils JavaScript Runtime?

J’étais en train d’installer des rails (v3) sur ma boîte Linux Ubuntu et l’installation a échoué en me plaignant de l’exécution javascript manquante. J’ai fait une recherche et il s’avère que les rails nécessitent un runtime javascript pour être installé sur la plateforme en cours d’exécution.

Alors que Windows est fourni avec jscript par défaut. Ma boîte Ubuntu n’avait pas de runtime js et j’ai corrigé le problème en installant node.js (V8).

À mon avis, un runtime js est requirejs pour exécuter le code javascript et les rails ne sont qu’un framework Web dans lequel javascript est incorporé. Les fichiers Javascript s’exécutent uniquement sur les ordinateurs clients.

Pourquoi les rails nécessitent-ils JavaScript Runtime?

Regardez dans le pipeline Rails Asset . Il fait des trucs avec les fichiers JavaScript (et CSS). Notamment:

  1. Il convertit CoffeeScript en JavaScript
  2. Il combine tous les fichiers javascript en un seul
  3. Il minimise ce fichier

Le runtime JavaScript est utilisé pour la minification .

Railsguides dit que cela a à voir avec la compression:

Vous aurez besoin d’un runtime supporté par ExecJS pour pouvoir utiliser uglifier. Si vous utilisez Mac OS X ou Windows, vous avez un environnement d’exécution JavaScript installé sur votre système d’exploitation. Consultez la documentation ExecJS pour obtenir des informations sur tous les environnements d’exécution JavaScript pris en charge.

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

Je pensais avoir vu Rails vérifier la validité des feuilles de style et du javascript dans votre application, mais il ne s’agissait peut-être que du pré-traitement SASS.