web-dev-qa-db-ja.com

Angular 2にポリフィルコードを追加

Angular 2 cli-projectにポリフィルのコードをどのように追加しますか?

たとえば、 Mozilla MDN から次のポリフィルを使用したいとします。

if (!Array.prototype.includes) {
  Object.defineProperty(Array.prototype, 'includes', {
    value: function(searchElement, fromIndex) {
      if (this == null) { throw new TypeError('"this" is null or not defined'); }
      var o = Object(this);
      var len = o.length >>> 0;
      if (len === 0) { return false; }
      var n = fromIndex | 0;
      var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
      while (k < len) {
        if (o[k] === searchElement) { return true; }
        k++;
      }
      return false;
    }
  });
}

Npmを使用してポリフィルがインストールされている別のスレッドを見つけました( Web Animations APIポリフィルをAngular 2 Angular CLI )。しかし、npmパッケージがない場合はどうすればよいですか?

7
Marcus

個人的な場合(angular 2、 core-js を使用することは通常ほとんどのスターターパックに含まれています))、これをpolyfills.tsに追加する必要があることに注意してください。

import "core-js/es7";

ただし、TypeScriptでカスタムポリフィルを宣言することに興味がある場合は、 この質問 を参照してください。次に、polyfills.tsrequire("your-custom-polyfill.js")を実行する必要があります。

7
n00dl3