我开始学习离子2,我在app.ts文件中导入依赖项时遇到问题。
当我想要使用时:
"import {Http} from "angular2/http";
它告诉我,这个主题的错误:
[ts] cannot find module 'angular2/http'.
这是我的package.json的内容:
"dependencies": {
"@angular/common": "^2.0.0-rc.1",
"@angular/compiler": "^2.0.0-rc.1",
"@angular/core": "^2.0.0-rc.1",
"@angular/http": "^2.0.0-rc.1",
"@angular/platform-browser": "^2.0.0-rc.1",
"@angular/platform-browser-dynamic": "^2.0.0-rc.1",
"@angular/router": "^2.0.0-rc.1",
"es6-shim": "^0.35.0",
"ionic-angular": "2.0.0-beta.7",
"ionic-native": "^1.1.0",
"ionicons": "3.0.0",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"zone.js": "^0.6.12"
}
答案 0 :(得分:5)
在Ionic 2,Beta 7中,我们应该使用:
从'@ angular / http'导入{Http};
答案 1 :(得分:4)
如果这对某人有用,为了升级到 Ionic 2 beta 7 (或现在是beta 8),您需要做一些其他更改。
您可以查看建议的步骤(以及重大更改)here。
======
修改强>
正如 Bond - Java Bond 所暗示的那样,这些是链接失效时的重大变化:
2.0.0-beta.7(2016-05-19)突破性变化
Angular Update to 2.0.0-rc.1
Angular已更新为2.0.0-rc.1,请按照以下步骤更新Angular。
修改您的package.json
并删除angular2
条目:
"angular2": "2.0.0-beta.15"
然后,从终端运行以下命令以更新Ionic和Angular,或者查看启动程序的package.json更改并更新每个版本:
npm install --save ionic-angular@2.0.0-beta.7 @angular/core @angular/compiler @angular/common @angular/platform-browser @angular/platform-browser-dynamic @angular/router @angular/http rxjs@5.0.0-beta.6 zone.js@0.6.12 reflect-metadata
从终端运行以下命令以更新ionic-gulp-scripts-copy
的gulp任务:
npm install --save-dev ionic-gulp-scripts-copy@2.0.0
然后,将应用中的所有导入从angular2
更改为@angular
。例如,以下内容。
import {ViewChild} from 'angular2/core';
import {Http} from 'angular2/http';
变为
import {ViewChild} from '@angular/core';
import {Http} from '@angular/http';
删除angular2-polyfills
中index.html
的导入:
<script src="build/js/angular2-polyfills.js"></script>
并将其替换为以下脚本:
<script src="build/js/zone.js"></script>
<script src="build/js/Reflect.js"></script>
将ngFor
中的所有模板变量替换为let
。例如:
*ngFor="#session of group.sessions"
变为
*ngFor="let session of group.sessions"
替换virtualScroll
中的所有模板变量。例如:
*virtualItem="#item"
变为
*virtualItem="let item"
查看Angular Changelog了解更多深度更改。