13

我正在做一个项目,并且经常遇到 therubyracer 和 libv8 的问题,所以我决定删除它们。似乎唯一将它们用作依赖项的是 less-rails ,无论如何我都想删除它。

我的主要问题是它们有什么用,我在普通应用程序中是否需要它们,如果需要,为什么?

4

2 回答 2

13

Rails 应用程序可能会使用 Javascript 运行时来做一些事情:

1) Rails资产管道需要 Javascript 运行时才能执行 Javascript 压缩。

2) 某些 Rails ActionView 帮助程序,如 javascript_include_tag 需要 Javascript 运行时才能执行 Javascript 函数。

并非每个 Rails 应用程序都使用这些功能,因此最初在 Gemfile 中注释掉了 therubyracer gem 的原因;此外请注意,您也可以使用 NodeJS 作为您的 Javascript 运行时。

有关详细信息,请参阅:

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

http://www.rubydoc.info/docs/rails/ActionView/Helpers/JavaScriptHelper

http://www.rubydoc.info/docs/rails/ActionView%2FHelpers%2FAssetTagHelper%3Ajavascript_include_tag

在特定页面上执行 javascript 的正确“Rails”方式

于 2016-06-30T18:57:11.350 回答
3

rubyracer 提供以下功能:

 1. We can write your ruby codes inside js codes. 
 2. We can invoke the js functions from ruby codes.  
 3. Manipulation of javscript objects & the passing them to javascript functions.

这些是使用 ruby​​racer gem 的几个基本好处。请在此处阅读完整的详细信息

于 2015-01-14T01:02:28.473 回答