【问题标题】:How to update the version of Angular in Ionic Framework?如何在 Ionic Framework 中更新 Angular 的版本?
【发布时间】:2016-04-07 13:50:59
【问题描述】:

我在使用 Angular 过滤器时遇到了一些问题,每个人都说:是因为您没有使用 Angular 1.3.8 或更高版本,我刚刚通过在控制台上执行 angular.version 实现了我的版本,并且: Object {full: "1.3.6", major: 1, minor: 3, dot: 6, codeName: "robofunky-danceblaster"} 出现了,那么,我如何至少更新到 1.3.8 呢?还是更新到最新?

有没有办法做到这一点,或者我必须使用那个版本的 Angular,直到 Ionic 人更新它?

【问题讨论】:

    标签: angularjs ionic-framework


    【解决方案1】:

    ionic.bundle.js 是以下的串联:

    • ionic.js
    • angular.js
    • angular-animate.js
    • angular-sanitize.js
    • angular-ui-router.js
    • ionic-angular.js

    如果您想使用比捆绑包中包含的版本更新的 AngularJS 版本,您可以将它们与首选版本分开包含(而不是加载 ionic.bundle.js)。

    请注意,最新 Ionic 版本中包含的 AngularJS 版本是测试期间使用的版本(我假设)。因此,手动包含较新版本的 Ionic 可能会损坏。

    【讨论】:

    • 知道了,不用我自己升级Angular版本了吗?
    • 如果您需要覆盖 angular 版本(并且您正在使用 bower),只需在 bower.json 中添加 angular 作为依赖项,离子应该在同一个地方。然后指定版本号。您可能会发现您需要添加一个冲突解决方案来选择您的版本而不是一个 ionic 建议。但是,正如 tasseKATT 所说,如果您使用与 ionic 预期不同的角度版本,它可能会破坏事情。
    【解决方案2】:

    如果您使用 Bower 来管理您的包,您不想手动为 angular 包含不同的 <script> 标签。

    如果您需要覆盖 angular 版本(并且您正在使用 bower),只需在 bower.json 中添加 angular 作为依赖项,ionic 应该在同一个地方。然后指定版本号。但请注意,正如 tasseKATT 所说,如果您使用与 ionic 预期不同的角度版本,它可能会破坏 ionic 中的内容。

    如果您仍然希望这样做,您可以通过两种方式进行。使用 bower 命令行工具或手动操作。

    Bower 命令行:

    在您的应用程序的根目录中,您可以执行以下操作,将最新版本的 angular 添加到您的 bower.json 中

    bower install angular --save
    

    或手动:

    "dependencies": {
      "ionic": "driftyco/ionic-bower#1.2.4",
      "angular": "1.5.0"
    }
    

    当然,无论是通过 bower 命令还是手动,确保现在在 bower.json 中指定的结果版本是您想要的版本。

    您可能会发现您需要在 bower.json 中添加冲突解决方案,以选择您的版本而不是 ionic 建议的版本。但是,正如 tasseKATT 所说,如果您使用与 ionic 预期不同的角度版本,它可能会破坏事情。

    找不到适合angular的版本,请选择一个:

    1) angular#1.4.3 解析为 1.4.3 并且是 ionic#1.2.4 所需的

    2) angular#^1.5.0 解析为 1.5.0 并且产品选择器需要

    3) angular#>= 1.0.8 解析为 1.5.0 并且是 angular-ui-router#0.2.13 所需的

    4) angular#^1.x 解析为 1.5.0 并且是 angular-local-storage#0.2.5 所需的

    5) angular#1.5.0 解析为 1.5.0 并且是 angular-mocks#1.5.0 所需要的

    6) angular#^1.5.0 解析为 1.5.0

    然后你选择一个选项,在它前面加上 !将分辨率保存到 bower.json,或者只需添加以下内容,并将其更改为您想要的版本:

    "resolutions": {
      "angular": "1.5.0"
    }
    

    所以现在你的项目会说“我需要角度版本 X”,然后 Ionic 说我需要一个不同的版本,但是你在 bower.json 中指定要覆盖的版本。如果你想深入了解,可以查看 bower_components/ionic/bower.json 中的 bower.json 文件(还有一个 .bower.json,不太清楚这里的区别。

    一旦你完成了所有的事情,那就是决赛:

    bower update
    

    这会检查一切是否正常并已安装。此时会出现任何其他冲突,您可以使用上述方法解决。

    【讨论】:

      【解决方案3】:

      这就是你需要做的所有事情:

      ionic lib update
      

      请参阅Github! 上的文档

      【讨论】:

        【解决方案4】:

        来自@tasseKATT 的优秀 Plunker 的注意点:

        • index.html 中的 Angular 版本,例如<script src="https://code.angularjs.org/1.5.0-beta.2/angular.js"></script> 必须包含 ionic.bundle.js
        • 您可能需要将https://code.angularjs.org:* 添加到您的<meta http-equiv="Content-Security-Policy" ...
        • 您可以使用angular.version 在浏览器控制台中检查您是否已加载所需的版本

        【讨论】:

          猜你喜欢
          • 2016-05-08
          • 1970-01-01
          • 2021-11-09
          • 1970-01-01
          • 2019-10-19
          • 2021-12-01
          • 1970-01-01
          • 1970-01-01
          • 2019-01-14
          相关资源
          最近更新 更多