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

ibl*_*lue 5 javascript git ruby-on-rails 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库?有首选方式吗?

Xav*_*olt 7

不知道为什么你为此投降了...

但是,我将不得不同意手动执行此操作的评论.我不会把它从你的存储库中删除 - 不要求它; 你想保持你当前的版本 - 但我不建议自动更新.

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

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

  • 您总是知道他们何时发生变化,并且在公开更改之前必须进行一些彻底的测试.
  • 如果您愿意,可以使用旧版本的库 - 为了提高性能,或者让您有时间解决最新的怪癖等等.

希望有所帮助!


Joh*_*ohn 5

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