import {Component, ViewEncapsulation} from '@angular/core';
import {Router, RouteConfig, ROUTER_DIRECTIVES} from '@angular/router-deprecated';
import {Home} from './components/home/home';
import {About} from './components/about/about';
import {RepoBrowser} from './components/repo-browser/repo-browser';
@Component({
selector: 'seed-app',
providers: [],
pipes: [],
directives: [ROUTER_DIRECTIVES],
styles: [require('bootstrap.scss')],
encapsulation: ViewEncapsulation.None,
templateUrl: 'app/seed-app.html',
})
@RouteConfig([
{ path: '/home', component: Home, name: 'Home', useAsDefault: true },
{ path: '/about', component: About, name: 'About' },
{ path: '/github/...', component: RepoBrowser, name: 'RepoBrowser' },
])
export class SeedApp {
constructor() {}
}
重要的部分是
样式:[require(' bootstrap.scss')],
所以bootstrap(css库)非常大,但是我想在我的angular2应用程序中使用它,所以我让主要组件的Encapsulation为none,所以它将与页面共享样式然后我包含bootstrap.scss as建议。
我的问题是:在 styles 性能明智的内容中有这么大的字符串(数千行)是否可以?将引导程序放在页面的头部就像常规的css文件一样好吗?
答案 0 :(得分:1)
Angular2将提供构建步骤(仍在进行中的AFAIK),在将应用程序提供给浏览器之前执行此类处理。如果你使用它,它应该没关系,或者我试图避免以这种方式使用大型CSS文件。即使由于你在任何地方都使用ViewEncapsulation.None
而没有重写,Angular2仍然可以解析CSS,这是多余的工作。