迁移到角度2

时间:2016-10-26 09:00:45

标签: javascript angularjs angular

我得到了一个用角度1编写的遗留应用程序,需要修复。

我需要编写单元测试才能对应用进行任何修改,所以我的问题是:

  1. 是否有一个框架可用于编写在角度1和2中工作的单元测试,而无需修改它们(或不要太多)。
  2. 我如何迁移这个东西?无需做太多工作,管理人员说它应该保持角度1,但我发现角度1不如角度2(可能因为2让我想起反应更多,而且我是反应开发者)。事情就是每个页面都有一个模块,一个控制器和一个视图(是每一页都是),没有任何可重用的组件,但它使用历史API路由(以某种纠结的方式),如果是这样,我怎么能改变页面页面使用角度2而不是1?
  3. 例如。模块

    Socket

    控制器:

    angular.module('catmodule')
    .config(function ($stateProvider) {
      $stateProvider
        .state('cats', {
          url: '/cats',
          templateUrl: 'cats/cats.html',
          controller: 'CatsCtrl',
          authenticate: true
        });
    });
    

    视图:

    angular.module('catmodule')
    .controller('CatsCtrl', function ($scope, $http, $firebaseObject) {
       $scope.catNumber = 10;
    
       //Main spagetthi here... D:
    });
    

    我需要一些粗略的想法,不需要具体;不管怎么说,我必须自己弄清楚事情。

1 个答案:

答案 0 :(得分:0)

没有通用单元测试这样的东西,你需要编写不同的单元测试,但这并不意味着你不能复制或重复使用某些逻辑。你要做的最好的事情就是遵循official migration guide。您可以同时使用两个不同的版本。但最困难的部分是设置Webpack和所有工具,如果你不习惯的话。

我的建议?不要试图修复没有破坏的东西。 Angular 1自2009年开始使用,从那以后发生了很多变化,但它仍然是一个很好的框架。如果管理员不愿意转移到Angular 2并且你没有他们的支持,那就继续做Angular 1。

因为这次迁移你会遇到很多困难,你将不得不学习Angular 2,Webpack,Typescript,虽然你可以在没有打字稿的情况下使用Angular,但你找不到文档。您还必须使两个框架一起工作并重新编写单元测试。在进入此迁移之前,请三思而后行。