polyfills.ts 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * This file includes polyfills needed by Angular and is loaded before the app.
  3. * You can add your own extra polyfills to this file.
  4. *
  5. * This file is divided into 2 sections:
  6. * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
  7. * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
  8. * file.
  9. *
  10. * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
  11. * automatically update themselves. This includes recent versions of Safari, Chrome (including
  12. * Opera), Edge on the desktop, and iOS and Chrome on mobile.
  13. *
  14. * Learn more in https://angular.io/guide/browser-support
  15. */
  16. /***************************************************************************************************
  17. * BROWSER POLYFILLS
  18. */
  19. /**
  20. * By default, zone.js will patch all possible macroTask and DomEvents
  21. * user can disable parts of macroTask/DomEvents patch by setting following flags
  22. * because those flags need to be set before `zone.js` being loaded, and webpack
  23. * will put import in the top of bundle, so user need to create a separate file
  24. * in this directory (for example: zone-flags.ts), and put the following flags
  25. * into that file, and then add the following code before importing zone.js.
  26. * import './zone-flags';
  27. *
  28. * The flags allowed in zone-flags.ts are listed here.
  29. *
  30. * The following flags will work for all browsers.
  31. *
  32. * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
  33. * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
  34. * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
  35. *
  36. * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
  37. * with the following flag, it will bypass `zone.js` patch for IE/Edge
  38. *
  39. * (window as any).__Zone_enable_cross_context_check = true;
  40. *
  41. */
  42. import './zone-flags';
  43. /***************************************************************************************************
  44. * Zone JS is required by default for Angular itself.
  45. */
  46. import 'zone.js'; // Included with Angular CLI.
  47. /***************************************************************************************************
  48. * APPLICATION IMPORTS
  49. */