web-dev-qa-db-ja.com

Angular 2 + MeteorアプリケーションにGoogleFontを含める

Newb to Angular 2。

アプリにGoogleフォントを含める方法。アプリの構造は

クライアント
| --app.ts
| --main.ts
| --index.html

IndexFile.html

<head></head>
<body style="font-family: 'Montserrat', sans-serif;">
    <div class="container-fluid">
        <app-start>Loading...</app-start>
    </div>
</body>

ヘッドタグに含まれるリンク

<link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>

しかし、効果は発生していません。また、クライアントフォルダ(font.js)にJSファイルを作成し、コードを挿入しました

  Meteor.startup(function() {

  WebFontConfig = {
    google: { families: [ 'Montserrat::latin' ] }
  };
  (function() {
    var wf = document.createElement('script');
    wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
    wf.type = 'text/javascript';
    wf.async = 'true';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(wf, s);
  })();

 })

しかし、効果はありません。

このフォントを私のAngular 2 + Meteorアプリケーションに含める正しい方法

9

@importを使用して解決策を見つけました
このコードを、パブリックフォルダーに配置したcommon_style.cssファイルに挿入しました

クライアント
| --app.ts
| --main.ts
| --index.html
公衆
|-スタイル
| --common_style.css

@import url(https://fonts.googleapis.com/css?family=Montserrat);

そして、app.ts-メインローダーのTypeScriptファイルにスタイルを含めました

@Component({
  selector:'app-start',
  template:`
        <div style=" font-family: 'Montserrat', sans-serif;">
        <navbar></navbar>
        <router-outlet></router-outlet>
        <footer></footer>
        </div>
  `,
  directives : [ NavbarComponent,FooterComponent, ROUTER_DIRECTIVES ],
  providers  : [ ROUTER_PROVIDERS ]
})

すべてのページでスタイルを取得しました

17