在rails中保持javascript库最新的最佳方法是什么?

时间:2012-02-17 19:01:56

标签: javascript ruby-on-rails git bundler

我目前正在开发一个Rails应用程序,它大量使用了一些javascript库,包括jquery,backbone.js和d3.js.对于jquery,有jquery-rails gem,对于主干,我们有backbone-rails。但d3.js不存在这样的情况。

我将d3.js中的javascript复制到了我的存储库,但这对我来说感觉有点不干净,因为当d3更新时,我必须再次复制它(我必须注意到,d3已经更新了!)。我考虑过git子模块,但每次检查存储库时我都必须手动拉它们。可能有办法让bundler检查d3存储库的特定版本吗?

如何处理在rails中更新第三方JavaScript库?有没有首选方式?

2 个答案:

答案 0 :(得分:7)

不确定为什么你为此投降了......

但是我必须同意那些说要手动完成的评论。我不会把它从你的存储库中删除 - 不要求它;你想保留你当前的版本 - 但我不建议你自动更新。

这是为了稳定。如果你像你说的那样“大量使用”JS,那么在最新版本的库中,一个怪癖 - 甚至是你修复过的bug的修正错误 - 可能会对你的代码造成严重破坏。当jQuery调整它在两个版本之间处理attr()prop()的方式时,我们得到了类似的东西。

因此,如果您始终手动更新库:

  • 您总是知道他们何时发生变化,并且在公开更改之前必须进行一些全面的测试。
  • 如果您愿意,可以使用较旧版本的库,以获得性能,或者让您有时间解决最新的怪癖,或其他任何事情。

希望有所帮助!

答案 1 :(得分:5)

为什么不创建一个d3-rails gem如果没有?现在的惯例似乎是将这些javascript库放在他们自己的宝石中,现在包含在Rails 3.1中的jquery-rails。它现在更多的工作,但它可能会为你带来回报。您将帮助社区,它可以在您的应用程序中轻松更新。

相关问题