2016-11-09 14 views
1

Angular2 Appで:「ng serve」または「ng build」を使用すると、コンポーネント内のindex.htmlに直接拡張された文字は正常に動作します。Angular-CLI/Angular2:非標準文字のみがindex.htmlで正しく読み込まれ、ng経由のコンポーネントでは正しく読み込まれません。

ファイルが保存されて提供される方法と関係がありますが、私はng2、webpack、CLIの新機能ですから、その理論をどうやってテストするのかはまだ分かりません。

index.htmlの文字セットは "charset = UTF-8"に設定されています。ブラウザにバンドルする前に個々のコンポーネントのHTMLページを表示すると正しくレンダリングされます。

再現手順:

  • コピーしたindex.html出力領域に、だけでなく、コンポーネントのテンプレートに「Próximamente」を貼り付けます。
  • 「ng-serve」を実行します。
  • 正しくレンダリングされますindex.htmlを1つが、テンプレート内の1つの意志ではない
  • 注:同じ展開のProd NGビルド出力リレーで発生

バージョン

  • Chrome:53.0.2785.143 m
  • 角度:2.1.0
  • Windows:10
  • のWebPACK:2.1.0ベータ25
  • 角度-CLI:1.0.0ベータ18

答えて

1

.tsファイル(テンプレート)の内容もUTF-8でエンコードされていることを確認します。つまり、index.htmlcharsetは、サービスされるファイルの実際の物理エンコーディングと一致する必要があります。

PS:あなたは簡単にテキストエディタで実際のエンコーディングを確認することができますMS VSCメモ帳++file -i *など

+0

うーん、はい、あなたは正しいです。私はこれをチェックすると思っていませんでしたが、ブラウザで個々のコンポーネントファイルhtmlを正しく表示したので、それはパッケージングの問題だと思います。次に、次の質問です:変更する必要のあるこれらのHTMLコンポーネントを生成しているAngular-Cliですか(新しいコンポーネントを生成するたびに、正しいエンコーディングで再保存する必要があります)。ありがとう – Rodney

+0

私は_MS VSC_の内部で 'ng generate'コマンドを実行し、ファイルは_Windows_でも_UTF-8_にあります。 'ng generate'のソースコードがプラットフォームに依存しているかどうかを調べることができます。 – Yuri

関連する問題