2017-02-20 3 views
5

Ich bin neu bei Ionic2/Angular2 & Ich habe mich umgesehen und mehrere Lösungen gefunden, was getan werden muss, um das Polyfill Problem mit der Intl Date Formatierung zu beheben (Beispielantwort hier: Ionic 2, Using Angular 2 Pipe breaks on iOS—"Can't find variable: Intl")Ionic 2 - So importieren Sie Intl polyfill

aber was ich nicht verstehe und was keine Tutorial/Stack Overflow-Erklärung mir geholfen hat, herauszufinden, ist wo genau und wie genau das zu erreichen ist. Ich habe npm installiert, um das intl-Paket zu meinen Node-Modulen hinzuzufügen, aber alles sagt nur "dann importiere es", aber ich weiß nicht, wo ich das tun soll, da ich keine polyfill.ts-Datei habe, in die ich es importieren könnte. Es gibt nur die Datei build/polyfill.js & Ich habe versucht, direkt in die .ts-Datei zu importieren, die die Int-Datum-Manipulation verwendet, aber das hat das Problem nicht gelöst.

Es ist möglich, dass ich etwas Grundlegendes nicht verstehe und deshalb gibt niemand explizit an, wo man es importieren muss, aber kann mir jemand erklären, wie man das importiert oder mich an eine Ressource weiterleitet was ich nicht verstehe.

+1

Normalerweise wird die polyfill.ts importiert in dem App-Modul so den Import der benötigt Polyfill in er App-Modul sollte den Trick tun –

+0

du bist der beste! Ich war dumm und hatte nicht den richtigen Weg auf den Import .. Ihr Kommentar beruhigte mich, dass ich auf dem richtigen Weg war und die Lösung funktionierte. Ich hatte Import 'intl' gemacht; aber ich musste importieren 'intl/dist/Intl.complete.js'; Vielen Dank! Wenn Sie das, was Sie in eine Antwort geschrieben haben, kopieren/einfügen möchten, akzeptiere ich es. –

+0

Ich bin froh, es hat funktioniert! Diese Wege sind immer irgendwie komisch, um herauszufinden ... Ich habe eine Antwort aus dem Kommentar gemacht! –

Antwort

10

Normalerweise die polyfill.ts im App Modul Datei importiert wird, die Ihre Anwendung Bootstrap wird normalerweise ist dies die main.ts Datei, so dass die benötigte polyfill in der Datei App Modul Bootstrap-Import sollte es tun . Hier

ein Beispiel:

main.ts

import './polyfills.ts'; 

import {platformBrowserDynamic} from '@angular/platform-browser-dynamic'; 
import {enableProdMode} from '@angular/core'; 

import {environment} from './environments/environment'; 
import {AppModule} from './app/app.module'; 

if (environment.production) { 
    enableProdMode(); 
} 

platformBrowserDynamic().bootstrapModule(AppModule); 

polyfill.ts

// All needed polyfills for example web animations 
import 'web-animations-js/web-animations.min'; 
+0

Warum sollte es in main.ts sein (bitte beachten Sie, dass in der neuesten ionic es main.ts und main.prod.ts gibt) und nicht in app.module.ts? –

+0

@AlexRyltsov, die von Ihrer Umgebung abhängt, in dem Beispiel, das ich die main.ts gegeben hat, wird die Bootstrap-Methode von einem Webpack-Plugin abhängig von Umgebungsvariablen mutiert (Entwicklung oder Produktion). Wenn Sie für beide Dateien separate Dateien haben, müssen Sie entweder die Polyfills in beide Dateien oder eine Datei einfügen, die sowohl in der Entwicklung als auch in der Produktion verwendet wird. –

Verwandte Themen