BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Angular提供了改进后的迁移路径,包括ng-upgrade组件

| 作者 David Iffland 关注 4 他的粉丝 ,译者 邵思华 关注 3 他的粉丝 发布于 2015年9月6日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Angular团队刚刚发布了从Angular 1平滑地迁移至Angular 2这一计划的更多信息

ng-conf 2015大会上,Angular团队表示,新的路由功能可以进行增量式的升级,每次更新一个视图。在这篇博客文章中,Brad Green表示:“从我们收到的反馈来看,虽然人们认可新的路由功能确实能够增量式升级,但这种增量做得还不够。因此,我们对迁移计划进行了重新审视与设计……”

新的迁移系统的强大能力来自于一个新的组件,名为ng-upgrade,它能够处理以下这些方面的交互:

  • 依赖注入
  • 组件嵌套
  • Transclusion (嵌入)
  • 变更检测

一旦ng-upgrade的工作完成,开发者就能够混合并搭配使用Angular 1与2的服务、组件和视图。Green说道:“ng-upgrade库会自动让Angular 1中的可注入对象在Angular 2中可用。这也意味着你为Angular 1应用所设计的服务可以任意地注入Angular 2的组件或服务中了。”
与其让新版本通过一种不完善的方式模拟旧版本中的行为,更好的方式是让两个版本的引擎各自执行对应的代码。

最终结果就是,开发者能够逐步地将某个应用从Angular 1迁移至Angular 2中。

不过,新的路由功能也并未停止开发。Green向InfoQ透露,在即将发布的一份开发者指南中,其中会引用最新的路由API文档

这份迁移计划对于那些还在担心是否要继续编写新的Angular 1项目的开发者来说是一个好消息。用户escobar在Hacker News讨论版中就表示,他认为此次的迁移计划是一个良好的举措:

我在工作中的几个新应用中使用了Angular
2以进行评估,但很快就放弃它了,因为直至今日为止,新版本的迁移路径始终很不明确。如果缺少迁移路径,在眼下这一时刻选择在新应用中使用v1有些愚蠢,但v2又完全没有为在生产环境中使用做好准备。

Green表示,他们正在计划撰写关于迁移的更多博客文章,包括一个详细的指南以及代码示例。Angular团队也分享了一份设计文档,其中描述了有关新的迁移计划背后所涉及的策略的更多细节。新的ng-upgrade组件目前还不可用,但应当会随着Angular 2 Beta版本一起推出。只是目前还没有Beta版本推出的明确日期,Green向InfoQ表示,在发布Beta版本之前,他们必须完成以下工作:

  • 在4周时间内不再出现破坏性的变更
  • 完成“语法糖”,让核心API与工具的使用体验更佳
  • 完成开发者指南的大约前20个部分,目前已经完成了其中的4个部分

查看英文原文:Angular Offers Refined Migration Path with ng-upgrade

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

这真不是一般的尴尬 by feng kazaff

就好像我刚下好合金5后,才发现破解补丁还没出来。。。

Re: 这真不是一般的尴尬 by Shao Tony

或者说你玩到一半,却听说很快要推出完美版…… :D

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT