组件样式不在Angular 4中捆绑

时间:2017-07-13 12:34:52

标签: css angularjs webpack

在我的组件中我有

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    // Finished drawing. Do other stuff.
    // However you must check if this is the first or subsequent call.
    // Each call to "invalidate()" will trigger re-drawing.
}

当我构建应用程序时

styles: [require('./hero.component.css')],

该文件中的样式未进入捆绑包。另外,我看不到运行已编译应用程序的样式。

我也试过

ng build --prod

哪个适用于已编译的应用程序,但它不捆绑样式,而是添加内联。

有没有办法捆绑组件样式并使其在生产中构建时能够正常工作?

(该应用程序是使用styleUrls: ['./hero.component.css']

创建的

1 个答案:

答案 0 :(得分:0)

我得到了reply on Github

  

这可以按预期工作。

     

如果将样式指定为组件的一部分,则样式将以特定于组件的选择器为前缀,并将内联到生成的代码中。这样做是为了让您能够进行样式隔离以及将样式表与代码分开的代码,以实现更优化的延迟加载。

显然,无法捆绑生成的项目,您需要一个自定义的webpack来捆绑。

也使用此

styles: [require('./hero.component.css')],

似乎有点危险,因为它适用于开发,但不会在ng build --prod上生成。使用styleUrls也适用于制作。