2017-03-06 9 views
0

私はIE9と互換性のあるWebサイトを作りたいと思っています。 以下のドキュメントを読んだあと、index.htmlにpolyfillスクリプトを追加しました。私は予想通り https://angular.io/docs/ts/latest/guide/browser-support.htmlangular2 ie9 shimの設定方法は?

<script src="node_modules/core-js/client/shim.min.js"></script> 

しかし、404 NOT FOUNDエラーがあります。 (node_modulesのためのルートが存在しないため) は、リソースの読み込みに失敗しました:サーバーが404(見つかりません)ここで をshim.min.jsの状態で応答されたエラーのスクリーンショット:
enter image description here

私はあると思いますがこの設定のためのより多くの準備。 誰でも助けてくれますか?

+0

はあなたが表示され、適切なエラーを表示することができます:

代わりに、1レベル../を取得し、これに変更する必要がありますか? – Smit

+0

インストールしましたか? 'npm install core-js' – pixelbits

+0

はい、インストールしました。 (私は角のあるCLIでプロジェクトを作成し、CLIにはcore-jsがインストールされていますが、package.json> dependencies> "core-js": "^ 2.4.1"から確認しました) – changsoo

答えて

0

角度のチュートリアルアプリケーション構造に従っている場合、インデックスページが配信される場所から、node_moduleフォルダがないことがわかります。

<script src="../node_modules/core-js/client/shim.min.js"></script> 
+0

ありがとう!私はあなたのコメントを理解しています。しかし、index.htmlはルートフォルダにあるので、index.htmlの親はもうないと思います。とにかく、shim.min.jsをルートフォルダに移動してこの問題を解決できます。 (一時的な便宜のため)しかし、 "ng bulid --prod"でこのプロジェクトをビルドし、/ distフォルダから実行すると、同じエラーが発生します。 shim.min.jsファイルをコピーして貼り付けて、このプロジェクトをデパイする必要がありますか? – changsoo

+0

@changsooはい!これはビルドプロセスには含まれない可能性があるため、静的に、またはCDNから入手できる場合は静的に、またはバンドルで使用できるようにビルドプロセスに配置する必要があります。 – Jai

+1

また、src/polyfills.tsにshim.min.jsをインポートできることがわかりました。 (例:import 'core-js/client/shim.min.js')shim.min.jsをpolyfills.tsに含めると、コピー&ペーストやCDNからのダウンロードは必要ありません。 (もちろん、ポリフィルを含むことは、最新のブラウザでは冗長になる可能性があります)とにかく、これはポリフィルを含める正しい方法ですか?私が間違っていたら、私を修正してください。ありがとう! – changsoo

関連する問題