Django 模块没有名为PeopleService-Ionic的导出模块
我一直在学习离子教程: 10分钟与离子2:调用API 打字错误 模块“C:/Users/grace/imaginemai/client/apiApp/src/providers/people->service/people service”没有导出的成员“peopleDevice”。 C:/Users/grace/imaginemai/client/apiApp/src/pages/home/home.ts 从'ionic angular'导入{NavController} 从>'C:\Users\grace\imaginemai\client\apiApp\src\providers\people->>service\people service'导入{peopleDevice} 我不确定我做错了什么。我注意到原始教程可能存在错误,因此我根据评论中发布的更正进行了一些修改: 我仍然有一些问题——我遵循了教程,但使用了我自己的API,它来自我与Django一起开发的博客。因此,尽管ionic应用程序被称为peopleservice,但我希望它能产生博客帖子。代码粘贴在下面。有人能告诉我我做错了什么吗 提前谢谢 people-service.ts:Django 模块没有名为PeopleService-Ionic的导出模块,django,angular,ionic2,Django,Angular,Ionic2,我一直在学习离子教程: 10分钟与离子2:调用API 打字错误 模块“C:/Users/grace/imaginemai/client/apiApp/src/providers/people->service/people service”没有导出的成员“peopleDevice”。 C:/Users/grace/imaginemai/client/apiApp/src/pages/home/home.ts 从'ionic angular'导入{NavController} 从>'C:\User
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
/*
Generated class for the PeopleServiceProvider provider.
See https://angular.io/docs/ts/latest/guide/dependency-injection.html
for more info on providers and Angular 2 DI.
*/
@Injectable()
export class PeopleService {
data1: any;
constructor(public http: Http) {
console.log('Hello PeopleService Provider');
}
load() {
if (this.data1) {
return Promise.resolve(this.data1);
}
//dont have the data yet
return new Promise(resolve => {
this.http.get('localhost:8000/posts/')
.map(res => res.json())
.subscribe(data => {
this.data1 = data.results;
resolve(this.data1);
});
});
}
}
home.ts:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import {PeopleSevice} from 'C:\\Users\\grace\\imaginemai\\client\\apiApp\\src\\providers\\people-service\\people-service';
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [PeopleSevice]
})
export class HomePage {
public posts: any;
constructor(public navCtrl: NavController, public peopleService: PeopleService) {
this.loadPosts();
}
loadPosts() {
this.PeopleService.load()
.then(data1 => {
this.posts = data1;
})
}
}
app.module.ts:
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { AboutPage } from '../pages/about/about';
import { ContactPage } from '../pages/contact/contact';
import { HomePage } from '../pages/home/home';
import { TabsPage } from '../pages/tabs/tabs';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
/*import { PeopleService } from 'C:\\Users\\grace\\imaginemai\\client\\apiApp\\src\\providers\\people-service\\people-service';*/
@NgModule({
declarations: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage
],
providers: [
/*StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
PeopleService*/
]
})
export class AppModule {}
app.component.ts:
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { TabsPage } from '../pages/tabs/tabs';
import { PeopleService } from 'C:\\Users\\grace\\imaginemai\\client\\apiApp\\src\\providers\\people-service\\people-service';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
rootPage:any = TabsPage;
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
statusBar.styleDefault();
splashScreen.hide();
});
}
}
home.html:
<ion-header>
<ion-navbar *navbar>
<ion-title>
Home
</ion-title>
</ion-navbar>
</ion-header>
<ion-content class="home">
<ion-list>
<ion-item *ngFor="let post of posts">
<h2>{{post.title}}</h2>
<p>{{post.text}}</p>
</ion-item>
</ion-list>
</ion-content>
导入时必须使用相对路径
import {PeopleSevice} from 'C:\\Users\\grace\\imaginemai\\client\\apiApp\\src\\providers\\people-service\\people-service';
这种绝对路径是行不通的
尝试:
这是当前文件的相对路径。您好,谢谢,我本来有相对路径,但也不起作用,所以我仍然迷路了……我想您可能弄错了路径。。还有,为什么提供者数组会被注释?您好,我在原始问题中添加了文件夹结构,我相信“../../providers/people service”是正确的。提供者数组被评论,因为我在这里找到了一个类似问题的解决方案。无论哪种方式都不起作用,我会收到相同的错误消息regardlessOh。。您必须将文件名设置为
。/../providers/people-service/people-service'代码>但此文件路径不起作用,我使用“../../providers/people service”得到相同的错误消息;
import {PeopleSevice} from 'C:\\Users\\grace\\imaginemai\\client\\apiApp\\src\\providers\\people-service\\people-service';
import {PeopleSevice} from '../../providers/people-service/people-service';