写点什么

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

  • 2015-09-05
  • 本文字数:990 字

    阅读完需:约 3 分钟

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

2015-09-05 19:001978
用户头像

发布了 428 篇内容, 共 181.0 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

【极客大学】【架构师训练营】【第二周】依赖倒置原则和接口隔离原则

NieXY

极客大学架构师训练营

【在云端 002】云时代,何以安放我的个人数据

Bora.Don

云计算 云存储

查找算法系列文(一)一文入门二叉树

淡蓝色

Java 数据结构 算法 二叉树

多个maven项目启动顺序

terrytian

maven

好奇心, 优秀软件工程师的内核品质

亚伦碎语

读书感悟 随笔杂谈

ARTS Week5

丽子

循序渐进的中台研发

理帆

中台 业务中台

别兜售你自己不会购买的东西

Neco.W

创业 销售管理 销售

MySQL InnoDB存储引擎 - 事务

Axe

【极客大学】【架构师训练营】【第二周】总结:设计原则

NieXY

极客大学架构师训练营

iOS & Android 去马赛克处理

liu_liu

ios android 去马赛克

LeetCode 655. Print Binary Tree

liu_liu

算法 LeetCode

SpringBean的生命周期

编号94530

Java spring Spring Boot 生命周期

基于业务表 Binlog 的事件驱动设计

理帆

MySQL 事件驱动 Binlog

设计模式之单例模式和组合模式

dapaul

极客大学架构师训练营

设计原则与设计模式

dapaul

极客大学架构师训练营

就餐卡系统架构设计文档

牛珈羽

极客大学架构师训练营

每日一题-翻转字符串里的单词

程序员老王

LeetCode

辟谣:程序员不配谈恋爱?你错的可以!真相来了

码农神说

程序员 漫画 相亲

RabbitMQ跨机房迁移数据零丢失

心平气和

RabbitMQ 消息队列

工作那么久,才知道的 SOLID 设计原则

闻人

架构师 极客大学架构师训练营

第四周 学习总结

冯凯

线性表(数组、链表、队列、栈)详细总结

淡蓝色

Java 数据结构 算法 链表 线性表

食堂就餐卡系统设计

John

极客大学架构师训练营

Redis系列(三):缓存过期该如何剔除?RDB和AOF又是什么?

z小赵

Java redis 高并发 高并发系统设计

centos7 操作

InfoQ_1c4a1f813eb1

十五年后苹果再次变心

池建强

apple 苹果 芯片 wwdc

游戏夜读 | 《老残游记》很有趣

game1night

区块链目前实际的应用场景汇总

CECBC

区块链技术 去中心化 应用场景

架构师训练营 - 第三周学习总结

清风徐徐

wee1作业总结

牛珈羽

极客大学架构师训练营

Angular提供了改进后的迁移路径,包括ng-upgrade组件_JavaScript_David Iffland_InfoQ精选文章