我只是在测试 Angular Universal 如何处理第三方 JavaScript 和 CSS 库的导入。为了便于使用,我尝试使用 jQuery 和 Bootstrap。
我正在使用 Universal Starter repo 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 没有任何样式。有人遇到过类似的问题并且知道如何解决这个问题吗?