The*_*ude 0 asp.net asp.net-core angular
在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>Run Code Online (Sandbox Code Playgroud)
我怎样才能在角度2中实现这一点?我正在谈论的css/js文件是站点范围的,而不是特定于组件的
(PS.我是角度2的新手)
如果您使用的是angular2 CLI,那么您可以使用enironment.ts.此文件中指定的属性将在整个应用程序中可用.
您可以创建多个这样的环境 -
在组件导入默认环境文件,如下 -
import { environment } from '../../environments/environment';
Run Code Online (Sandbox Code Playgroud)
从像这样的平台浏览器导入DOCUMENT-
import { DOCUMENT } from '@angular/platform-browser';
Run Code Online (Sandbox Code Playgroud)
注入组件(例如主AppComponent),
constructor (@Inject(DOCUMENT) private document) { }
Run Code Online (Sandbox Code Playgroud)
使用环境条件并应用这样的动态样式表 -
if(environment.EnvName === 'prod') {
this.document.getElementById('theme').setAttribute('href', 'prod.css');
}
else {
this.document.getElementById('theme').setAttribute('href', 'dev.css');
}
Run Code Online (Sandbox Code Playgroud)
Angular CLI负责在构建过程中为每个环境使用哪个文件.
这是您如何在一次构建时指定环境 -
ng build --env=prod
Run Code Online (Sandbox Code Playgroud)
希望这有助于您的用例.
| 归档时间: |
|
| 查看次数: |
456 次 |
| 最近记录: |