为什么rails需要JavaScript运行时?

我在Ubuntu Linux Box上安装rails(v3),安装失败,抱怨缺lessjavascript运行时。 我做了一些查找,事实certificate,轨道需要一个JavaScript运行时安装在其运行的平台上。

而Windows默认捆绑了jscript。 我的Ubuntu的盒子没有一个JS运行时,我通过安装node.js(V8)解决了这个问题。

AFAIK,需要一个js运行时才能执行JavaScript代码和轨道只是一个embeddedJavaScript的Web框架。 JavaScript文件只能在客户机上运行。

那么, 为什么rails需要JavaScript运行时?

看看Rails资产pipe道 。 它确实喜欢JavaScript(和CSS)文件。 值得注意的是:

  1. 它将CoffeeScript转换成JavaScript
  2. 它将所有的JavaScript文件合并为一个
  3. 它缩小该文件

JavaScript运行时间用于缩小 。

Railsguides说,它与压缩有关:

您需要一个支持ExecJS的运行时才能使用uglifier。 如果您使用Mac OS X或Windows,则在操作系统中安装了JavaScript运行时。 查看ExecJS文档以获取有关所有受支持的JavaScript运行时的信息。

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

我以为我已经看到Rails实际上检查了你的应用程序中的样式表和JavaScript的有效性,但也许它只是SASS preprecesscessing。