2017-04-16 48 views
0

在组件的CSS链接图像看起来是这样的:角CLI:前缀,以图像的路径到CSS

background: url("/assets/map.jpg"); 

,但我需要在生产CSS路径,图像将可以解决这样的:

background: url("/static/assets/map.jpg"); 

Angular CLI可以做到这一点吗?

回答

1

您可以使用isDevMode与ngClass。假设你的css如下所示

.bg-dev { 
    background: url("/assets/map.jpg"); 
} 

.bg-prod { 
    background: url("/static/assets/map.jpg"); 
} 

使用ngClass在这两个类之间切换。

<some-element [ngClass]="{'bg-dev': devMode , 'bg-prod': !devMode}">...</some-element> 

,并在组件的答案

import { isDevMode } from '@angular/core'; 

export class AppComponent { 
    devMode:boolean = false; 

    constructor() { 
    this.devMode = isDevMode(); 
    } 
} 
+0

谢谢,但如果是有很多这些CSS类的应用程序中的那么逻辑就会很复杂。我认为这个案例需要后处理CSS。 – karavanjo

+0

不客气。另一种解决方案是使用gulp任务为dev和prod生成多个资产文件夹。 – digit