2017-02-21 19 views
4

Angular 2 cliプロジェクトにpolyfillのコードを追加するにはどうすればよいですか?Angular 2のポリフィルコードを追加

例えば、私は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; 
    } 
    }); 
} 

Iはポリフィルは、NPM(How to add Web Animations API polyfill to an Angular 2 project created with Angular CLI )を介してインストールされている別のスレッドを発見しました。しかし、npmパッケージがない場合はどうすればいいですか?

+0

はあなたのプロジェクトの中核部分ですか? – n00dl3

答えて

4

あなたの個人的な場合(角度2を使用すると、通常はほとんどのスターターパックにcore-jsが含まれています)。そうあなたは自分のpolyfills.tsにこれを追加する必要があります。

import "core-js/es7"; 

あなたはtypescriptですでカスタムpolyfillsを宣言することに興味がある場合は、あなたがthis questionを見てみることができます。にはrequire("your-custom-polyfill.js")が必要です。

+0

リンクをありがとう。私はこのアプローチを試み、フィードバックを与えます。 – Marcus

+1

良い答え。それはしばしば真であるが、それがまだインストールされていない場合にそれを取得する方法に言及する価値がある。また、 '@ types/core-js'パッケージを避けて、代わりに' 'tsconfig.json'の' 'lib":["es2017"、 "dom"] 'を使用してください。それは多くの人々を襲う。 –

関連する問題