如何在Ionic框架中更新Angular版本?

5

我在使用Angular过滤器时遇到了一些问题,每个人都说:这是因为你没有使用1.3.8或更高版本的angular,我刚刚通过在控制台上执行angular.version来发现我的版本是:

Object {full: "1.3.6", major: 1, minor: 3, dot: 6, codeName: "robofunky-danceblaster"}

那么,如何至少更新到1.3.8?或者更新到最新版本?有没有办法做到这一点,或者我必须使用这个版本的Angular直到Ionic的开发人员更新它?

4个回答

24

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 版本了吗? - Non
如果您需要覆盖 Angular 版本(并且正在使用 bower),只需在 bower.json 中添加 Angular 作为依赖项,与 Ionic 应该在同一位置。然后指定版本号。您可能需要添加冲突解决方案以选择您的版本而不是 Ionic 建议的版本。但是,正如 tasseKATT 所说,如果您使用与 Ionic 预期的 Angular 版本不同的版本,则可能会破坏某些内容。 - redfox05

6
如果您正在使用Bower来管理软件包,则不需要手动包含不同的<script>标签来使用angular。
如果您需要覆盖angular版本(并且您正在使用bower),只需在您的bower.json中添加angular作为依赖项,与ionic应该在同一个位置。然后指定版本号。但是请注意,正如tasseKATT所说,如果您使用与ionic期望的angular版本不同的版本,则可能会破坏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 版本,则可能会破坏一些东西。

无法找到合适的 Angular 版本,请选择一个:

1) angular#1.4.3,解析为 1.4.3,是 ionic#1.2.4 所需的版本

2) angular#^1.5.0,解析为 1.5.0,是 product-picker 所需的版本

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"
}

现在,您的项目会说“我需要 angular 版本 X”,然后 Ionic 会说我需要不同版本的 angular,但是在您的 bower.json 文件中,您可以指定要覆盖的版本。如果您想更深入地了解此问题,请查看 bower_components/ionic/bower.json 中的 bower.json 文件(还有一个 .bower.json 文件,在此不清楚区别)。

当您完成所有操作后,进行最终操作:

bower update

这会检查所有东西是否都正常安装。任何其他冲突都将在此时出现,您可以使用上述方法解决。


4
这是您需要做的全部内容:
ionic lib update

请查看Github上的文档!

0

注意以下来自@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在浏览器控制台中检查您加载的版本是否正确。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接