在asp.net核心中,我可以使用<environment>
标签在我的布局html页面中有条件地包含css / js:
<environment names="Development,Staging">
<script type="text/javascript" href="js/debug.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</environment>
<environment names="Production">
<link rel="stylesheet" type="text/css" href="css/style.min.css" />
</environment>
&#13;
如何在角度2中实现此目的?我所谈论的css / js文件是站点范围的,而不是特定于组件的
(PS。我是角度2的新手)
答案 0 :(得分:6)
如果您使用的是angular2 CLI,则可以使用enironment.ts
。
此文件中指定的属性将在整个应用程序中可用。
您可以创建多个这样的环境 -
在组件中导入默认环境文件,如下所示 -
import { environment } from '../../environments/environment';
从平台浏览器导入DOCUMENT,如下所示 -
import { DOCUMENT } from '@angular/platform-browser';
注入组件(例如主AppComponent),
constructor (@Inject(DOCUMENT) private document) { }
使用环境条件并应用动态样式表 -
if(environment.EnvName === 'prod') {
this.document.getElementById('theme').setAttribute('href', 'prod.css');
}
else {
this.document.getElementById('theme').setAttribute('href', 'dev.css');
}
Angular CLI负责在构建过程中为每个环境使用哪个文件。
这是您在一次构建时指定环境的方法 -
ng build --env=prod
希望这对您的用例有所帮助。