He estado intentando cargar un archivo json local presente en mi carpeta de proyecto de Angular 2 usando el método http get. Mire el siguiente fragmento de código de ejemplo:
private _productURL = 'api/products/products.json'; getProducts(): Observable<any> { return this._http.get(this._productURL).map((response : Response) => <IProduct[]> response.json()) .do(data =>console.log(JSON.stringify(data))).catch(this.handleError); }Ahora, cuando intento cargarlo con conexión a Internet, funciona. Pero cuando estoy activando la casilla de verificación fuera de línea desde las opciones de desarrollador del navegador ( https://developers.google.com/web/tools/chrome-devtools/network-performance/reference#offline ), el json deja de cargarse nuevamente. Comienza a mostrarme un error en la consola sobre No hay conexión a Internet y no carga nada.
Hay alguna otra manera de hacer esto? o usando http get... ¿cómo hacerlo?
Puede importar un archivo json si hace lo siguiente:
cree un archivo json-typings.d.ts con:
declare module "*.json" { const value: any; export default value; }esta es una definición de módulo comodín que nos permite importar archivos que no sean javascript, en este caso archivos JSON.
ahora debería poder importar archivos json a su proyecto:
import * as products from "./products.json";