如何在Ionic Framework中更新Angular的版本?

时间:2015-02-06 19:40:30

标签: angularjs ionic-framework

我对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人员更新它?

4 个答案:

答案 0 :(得分:23)

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可能会破坏。

答案 1 :(得分:5)

如果您使用Bower管理套餐,则不希望手动为角度添加其他<script>标记。

如果你需要覆盖角度版本(并且你正在使用凉亭),只需在你的bower.json中添加角度作为依赖性,离子应该是相同的位置。然后指定版本号。但是请注意,正如tasseKATT所说的那样,如果你使用与离子期望值不同的角度版本,可能打破离子中的东西。

如果您仍希望这样做,可以通过两种方式完成。使用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中添加冲突解决方案,以便根据离子建议选择您的版本。然而,正如tasseKATT所说,如果你使用与离子预期不同的角度版本,它可能会破坏它。

  

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

     

1)角度#1.4.3,分辨率为1.4.3,离子#1.2.4

需要      

2)angular#^ 1.5.0,它解析为1.5.0并且是产品选择器

所要求的      

3)angular#&gt; = 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)角度#1.5.0,分辨率为1.5.0,角度模拟#1.5.0

需要      

6)角度#^ 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

这会检查一切都很满意并安装完毕。此时会出现任何其他冲突,您可以使用上述方法解决这些冲突。

答案 2 :(得分:4)

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

ionic lib update

请参阅Github!

上的文档

答案 3 :(得分:0)

上面@tasseKATT的优秀Plunker注意事项:

  • index.html中的角度版本,例如<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
  • 检查是否已在浏览器控制台中加载了所需的版本