Angular Universal がサードパーティの JavaScript および CSS ライブラリのインポートを処理する方法をテストしているところです。使いやすさのために、jQuery と Bootstrap を試してみました。
Universal Starter リポジトリhttps://github.com/angular/universal-starterを使用し、 npm を介して jQuery と Bootstrap をインストールしました。
私app.component.ts
はそのようにjQueryを含めましたが、それは完全に機能します。
import { isBrowser, isNode } from 'angular2-universal'
var jQuery: any = require('jquery');
...
@Component({
changeDetection: ChangeDetectionStrategy.Default,
encapsulation: ViewEncapsulation.Emulated,
selector: 'app',
templateUrl: './app.component.html'
})
export class AppComponent implements OnInit {
title = 'ftw';
ngOnInit(): void {
if (isBrowser) {
jQuery('#universal').css({'color': '#FF0000', 'font-size': '25px'})
}
}
}
cssファイルをインポートしたいのですが、うまくいきません。app/client.ts
次のようにファイル内にインポートしています。
...
// Angular 2
import { enableProdMode } from '@angular/core';
import { platformUniversalDynamic } from 'angular2-universal/browser';
import { bootloader } from '@angularclass/bootloader';
import { load as loadWebFont } from 'webfontloader';
import 'bootstrap/dist/css/bootstrap.css';
// enable prod for faster renders
enableProdMode();
...
実際の Bootstrap css は Webpack バンドル内にありますが、HTML のスタイルはまったく設定されていません。誰もこれで同様の問題を抱えていて、この問題を解決する方法を知っていますか?