Angular CLI Env Addon
Inspired by Twelve-Factor App
This addon can generate a constant file from env.json
so that your environment variable is scalable. For now it only supports generating TypeScript constant exporting file.
For more details
This addon has the following prerequisites:
- Node.js 4.x
- Angular project created via angular-cli
Run this inside your Angular CLI project:
npm install --save-dev angular-cli-env
First, you need to initialize things needed for env generation by running:
ng env:init
It'll generate 2 files:
env.json
(Your environment variables live here, can be git-ignored as you like )src/app/shared/app-env.interface.ts
(Your environment variable interface for static type, must be checked to source control)
You only need to this once.
Next, you can generate the constant file by running:
ng env
It'll generate the constant file at src/app/shared/env.ts
, and this file can be git-ignored as you like.
By default, it will generate a constant file with static type AppEnv
.
If you prefer to use dynamic type, you can add --typeless
flag when generating.
You can also custom the path and name using --path
and --name
flags.
When changing path, you need to adjust your app interface's path accordingly
Just import the generated file in your app, for example:
import { Component } from '@angular/core';
import { ENV } from './shared/env';
@Component({
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.css']
})
export class AppComponent {
title = 'app works!';
constructor() {
console.log(ENV.TITLE);
}
}
- Antony Budianto
- Based on angular-cli-github-pages