如何在 Ionic Framework 中更新 Angular 的版本?
How to update the version of Angular in Ionic Framework?
我在使用 Angular 过滤器时遇到一些问题,每个人都说:是因为您没有使用 angular 1.3.8 或更高版本,我只是通过 [=11 实现了我的版本=] 在控制台上和:
Object {full: "1.3.6", major: 1, minor: 3, dot: 6, codeName: "robofunky-danceblaster"}
出现了,那么,我如何至少更新到 1.3.8?或更新到最新版本?
有没有办法做到这一点,或者我必须使用 Angular 的那个版本,直到 Ionic 人员更新它?
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 版本是 is/was 在测试期间使用的版本(我假设)。因此,通过手动包含更新版本的 Ionic 可能会中断。
这就是您需要做的所有事情:
ionic lib update
请参阅有关 Github!
的文档
上面来自@tasseKATT 的优秀 Plunker 中的注意事项:
- angular 在
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
检查您是否已在浏览器控制台中加载所需的版本
如果您使用 Bower 来管理您的包,您不想手动为 angular 添加不同的 <script>
标签。
如果您需要覆盖 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 所说,如果您使用的 angular 版本与 ionic 所期望的版本不同,它可能会造成破坏。
Unable to find a suitable version for angular, please choose one:
1) angular#1.4.3 which resolved to 1.4.3 and is required by ionic#1.2.4
2) angular#^1.5.0 which resolved to 1.5.0 and is required by product-picker
3) angular#>= 1.0.8 which resolved to 1.5.0 and is required by angular-ui-router#0.2.13
4) angular#^1.x which resolved to 1.5.0 and is required by angular-local-storage#0.2.5
5) angular#1.5.0 which resolved to 1.5.0 and is required by angular-mocks#1.5.0
6) angular#^1.5.0 which resolved to 1.5.0
然后你选择一个选项,在它前面加上!将分辨率保存到 bower.json,或者只需添加以下内容,并将其更改为您想要的版本:
"resolutions": {
"angular": "1.5.0"
}
所以现在您的项目会说 "I need angular version X" 然后 Ionic 说我需要一个不同的,但是您在 bower.json 中指定要覆盖的项目。如果您想对此进行更多研究,请查看 bower_components/ionic/bower.json 中的 bower.json 文件(还有一个 .bower.json,不太确定这里的区别。
完成所有操作后,最后一个:
bower update
这会检查是否一切正常并已安装。此时会出现任何其他冲突,您可以使用上述方法解决。
我在使用 Angular 过滤器时遇到一些问题,每个人都说:是因为您没有使用 angular 1.3.8 或更高版本,我只是通过 [=11 实现了我的版本=] 在控制台上和:
Object {full: "1.3.6", major: 1, minor: 3, dot: 6, codeName: "robofunky-danceblaster"}
出现了,那么,我如何至少更新到 1.3.8?或更新到最新版本?
有没有办法做到这一点,或者我必须使用 Angular 的那个版本,直到 Ionic 人员更新它?
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 版本是 is/was 在测试期间使用的版本(我假设)。因此,通过手动包含更新版本的 Ionic 可能会中断。
这就是您需要做的所有事情:
ionic lib update
请参阅有关 Github!
的文档上面来自@tasseKATT 的优秀 Plunker 中的注意事项:
- angular 在
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
检查您是否已在浏览器控制台中加载所需的版本
如果您使用 Bower 来管理您的包,您不想手动为 angular 添加不同的 <script>
标签。
如果您需要覆盖 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 所说,如果您使用的 angular 版本与 ionic 所期望的版本不同,它可能会造成破坏。
Unable to find a suitable version for angular, please choose one:
1) angular#1.4.3 which resolved to 1.4.3 and is required by ionic#1.2.4
2) angular#^1.5.0 which resolved to 1.5.0 and is required by product-picker
3) angular#>= 1.0.8 which resolved to 1.5.0 and is required by angular-ui-router#0.2.13
4) angular#^1.x which resolved to 1.5.0 and is required by angular-local-storage#0.2.5
5) angular#1.5.0 which resolved to 1.5.0 and is required by angular-mocks#1.5.0
6) angular#^1.5.0 which resolved to 1.5.0
然后你选择一个选项,在它前面加上!将分辨率保存到 bower.json,或者只需添加以下内容,并将其更改为您想要的版本:
"resolutions": {
"angular": "1.5.0"
}
所以现在您的项目会说 "I need angular version X" 然后 Ionic 说我需要一个不同的,但是您在 bower.json 中指定要覆盖的项目。如果您想对此进行更多研究,请查看 bower_components/ionic/bower.json 中的 bower.json 文件(还有一个 .bower.json,不太确定这里的区别。
完成所有操作后,最后一个:
bower update
这会检查是否一切正常并已安装。此时会出现任何其他冲突,您可以使用上述方法解决。