2017-02-20 28 views
5

Я новичок в Ionic2/Angular2 & Я искал и нашел несколько решений для того, что нужно сделать, чтобы исправить проблему полиполнения с использованием форматирования даты intl (пример ответа здесь: Ionic 2, Using Angular 2 Pipe breaks on iOS—"Can't find variable: Intl")Ionic 2 - Как импортировать Intl polyfill

но я не понимаю, и что не объясняет, что объяснение переполнения учебника/стека помогло мне разобраться, где именно и как именно это сделать. Я установил npm для получения пакета intl, добавленного к моим модулям узлов, но все просто говорит «затем импортировать его», но я не знаю, где это сделать, поскольку у меня нет файла polyfill.ts, который я мог бы импортировать, есть только файл build/polyfill.js. & Я попытался импортировать непосредственно в .ts-файл, который использует манипуляции с intl date, но это не решило проблему.

Возможно, я не понимаю что-то совершенно фундаментальное, и поэтому никто прямо не указывает, где вам нужно его импортировать, но может кто-нибудь объяснить мне, как импортировать это или ссылаться на ресурс, чтобы объяснить что я не понимаю.

+1

Обычно polyfill.ts импортируется в модуль приложения так импортируемое нужен полиполк в модуле приложения должен сделать трюк –

+0

ты лучший! Я был немым и не имел права на импорт. Ваш комментарий заверил меня, что я на правильном пути, и исправить работу. Я сделал импорт «intl»; но мне нужно было импортировать 'intl/dist/Intl.complete.js'; Спасибо! Если вы хотите скопировать/вставить то, что вы написали в ответ, я приму это. –

+0

Я рад, что это сработало! Эти пути всегда кажутся странными, чтобы понять ... Я сделал ответ из комментария! –

ответ

10

Обычно polyfill.ts импортируется в приложение модуль файла, который будет бутстрапным приложением обычно это файл main.ts, поэтому импортировать необходимый polyfill в приложении модуль загрузочного файл должен сделать трюк ,

Вот пример:

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

Почему это должно быть в main.ts (обратите внимание, что в последней ионной версии есть main.ts и main.prod.ts), а не в app.module.ts? –

+0

@AlexRyltsov, который зависит от вашей среды, в примере, который я дал main.ts, его метод начальной загрузки мутируется с помощью плагина webpack в зависимости от переменных среды (разработки или производства). Если у вас есть отдельные файлы для обоих, вам нужно включить полисы в оба файла или файл, который используется как для разработки, так и для производства. –

 Смежные вопросы

  • Нет связанных вопросов^_^