It’s often useful to generate a file of constants, usually as environment variables, for your Angular apps. This Gulp plugin will allow you to provide an object of properties and will generate an Angular module of constants.
npm install gulp-ng-config
It’s pretty simple: gulpNgConfig(moduleName)
We start with our task. Our source file is a JSON file containing our configuration. We will pipe this through gulpNgConfig and out will come an angular module of constants.
var gulp = require('gulp');
var gulpNgConfig = require('gulp-ng-config');
gulp.task('test', function () {
gulp.src('configFile.json')
.pipe(gulpNgConfig('myApp.config'))
.pipe(gulp.dest('.'))
});
Assume that configFile.json contains:
{
"string": "my string",
"integer": 12345,
"object": {"one": 2, "three": ["four"]},
"array": ["one", 2, {"three": "four"}, [5, "six"]]
}
Running gulp test will take configFile.json and produce configFile.js with the following content:
angular.module('myApp.config', [])
.constant('string', "my string")
.constant('integer', 12345)
.constant('object', {"one":2,"three":["four"]})
.constant('array', ["one",2,{"three":"four"},[5,"six"]]);
We now can include this configuration module in our main app and access the constants
angular.module('myApp', ['myApp.config']).run(function (string) {
console.log("The string constant!", string) // outputs "my string"
});