12

我正在 Backbone 开发一个大项目(大约 8000 行 javascript,不包括外部库),我正在考虑迁移到 AngularJS。

目前我有很多处理 DOM 更改、绑定和解除绑定事件的代码。我正在使用 Mustache 进行模板渲染。大多数数据使用 AJAX 加载,并存储在 Backbone 模型中,其中一些使用 BackboneRelational。我正在使用大约 10 个小的 jQuery 插件来做精美的 UI 内容。

我决心进行此迁移,但是我担心我的最后期限。所以问题是:

  1. 使用 AngularJS 重写它需要多长时间?也许有人可以分享他的经验。
  2. 是否可以立即开始使用 Angular,并使用它实现新功能,而不会在我们需要与 Backbone 部分交互时引起头痛?
  3. 如果我决定在截止日期后进行重构,您会推荐哪些实践来使代码更容易迁移?
4

1 回答 1

12

我将 5k 多行 BB 代码移植到 Angular。当我第一次开始使用 Angular 时,我做了这个移植,如果我没记错的话,我是在一个周末完成的,然后是 3 天。所以大约在5天内完成。您必须注意,我编写了整个 BB 应用程序(所有 5k 行也是如此..),因此我更容易移植。

您可能最初可以混合使用 BB 和 Angular(在 Angular 中开发新部件并慢慢移植 BB 部件……),但我建议如果可以的话,请先移植整个应用程序。

作为一般规则,您的所有主干模型和集合都应该进入服务(也许同名?)。移植 html 和 Mustache 模板应该是小菜一碟。稍微棘手的部分是您的 jquery 插件。但如果它们很简单,那么您将能够使用 angular-ui jquery passthrough ( http://angular-ui.github.io/ )。

于 2013-04-16T15:59:58.380 回答