Ham*_*deh 4 node.js angular-cli angular
ng build使用 Angular cli 命令(例如,特别是在我的情况下更改或设置环境中的变量)时,有什么方法可以传递一些参数,ng serve而无需每次更改环境文件或定义新环境?
例如我有这个environment.ts文件
export const environment = {
apiData: true,
authentication: true,
checkValidation: true,
signData: false,
mockFileDirectoryUrl: '/assets/',
saveUrl: 'http://localhost:5000/'
getUrl: 'http://localhost:5005/'
};
Run Code Online (Sandbox Code Playgroud)
我想在本地运行我的应用程序以使用signData=true标志进行测试,并SaveUrl使用以下命令进行不同的测试:ng serve signData true saveUrl "https:/localhost:5050"
我找到了这种方法How to passenvironmentvariables at build time in an Angular application using .env files,但问题是每次环境文件被完全重写时这个解决方案,但我想在运行时传递这些变量。
查看@ngx-env/builder,它公开了如下环境变量:
NG_APP_ENABLE_ANALYTICS=false
NG_APP_VERSION=$npm_package_version
NG_APP_COMMIT=$GITHUB_SHA
Run Code Online (Sandbox Code Playgroud)
作为全局变量:
@Component({
selector: "app-footer",
})
export class FooterComponent {
version = process.env.NG_APP_VERSION;
branch = process.env.NG_APP_BRANCH_NAME;
commit = process.env.NG_APP_COMMIT;
analyticsFlag = process.env.NG_APP_ENABLE_ANALYTICS;
}
Run Code Online (Sandbox Code Playgroud)
并通过管道:
<!-- Same output in the spans -->
<span> {{ 'process.env.NG_APP_BRANCH_NAME' | env }} </span>
<span> {{ 'NG_APP_BRANCH_NAME' | env }} </span>
<span> {{ branch }} </span>
Run Code Online (Sandbox Code Playgroud)
示例由项目自述文件提供。
| 归档时间: |
|
| 查看次数: |
2943 次 |
| 最近记录: |