0
ZusammenfassungAngular - eine JSON-Datei Bereitstellen auf Firebase
- ich einen Winkel Projekt mit einer JSON-Datei mit Scheindaten
- Als ich das Projekt erstellen, ich habe die JSON-Datei in die ‚dist-Stick 'Ordner
- ich habe einen Winkel Dienst, der die JSON-Datei verweist
- ich implementieren einen Fehler Mangel an Wissen und Feuerbasis erhalten
- Bitte entschuldigen Sie hier ausnahmsweise neu in diese
Fragen
- Ist es möglich, eine JSON-Datei während der Arbeit in Localhost zu benutzen?
- Was habe ich bei der Bereitstellung auf Firebase falsch gemacht?
Dienst
import { IProjects } from './projects.interface';
@Injectable()
export class ProjectsService {
private _projectURL = '/dist/projects-list.json';
constructor(private _http: Http) { }
getProjects(): Observable<IProjects[]> {
return this._http.get(this._projectURL)
.map((response: Response) => <IProjects[]> response.json())
.do(data => console.log('All: ' + JSON.stringify(data)))
.catch(this.handleError);
}
getProject(id: number): Observable<IProjects> {
return this.getProjects()
.map((projects: IProjects[]) => projects.find(p => p.projectId === id));
}
private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
}
Listenkomponente, die die Liste der Projekte zeigt
export class ProjectsListComponent implements OnInit {
pageTitle = "Project List";
errorMessage: string;
projects: IProjects[];
constructor(private _projectsService: ProjectsService) {
}
ngOnInit(): void {
this._projectsService.getProjects()
.subscribe(projects => this.projects = projects,
error => this.errorMessage = <any>error);
}
onRatingClicked(message: string): void {
this.pageTitle = 'Project List: ' + message;
}
}
Jede Hilfe wäre sehr dankbar :)
Danke @jonnysai! - Ich habe das ohne viel Glück versucht. Wenn ich jedoch "ng build --watch" starte, erscheint die JSON-Datei nun im Ordner "Assets". Ich bekomme den gleichen Fehler, wenn ich in Firebase bereitstellen, und lokal (localhost), kann es nicht scheinen, die Datei zu finden. ("Fehler beim Laden der Ressource: Der Server reagierte mit dem Status 404 (Not Found)" – MegaTron
Ich weiß nicht, Firebase aber es sollte lokal arbeiten. Versuchen, dienen – CharanRoot
ahh, ich habe es funktioniert sowohl lokal als auch auf firebase url muss "assets/projects-list.json" sein. Wenn du deine Antwort damit aktualisierst, werde ich sie als "beantwortet" markieren, da du mir etwas Neues beigebracht hast. Danke für deine Zeit Jonny, sehr geschätzt. – MegaTron