Skip to content Skip to sidebar Skip to footer

Angularjs Read From Properties File

In angularJS how can I read a value from a properties file? connection.properties: url='http://localhost:8080' user= 'me' get= 'GET' post= 'POST' app.js: var app = an

Solution 1:

If connection.properties is a file that lives on your web server, then you simply need to do this:

var app = angular.module('app', []);

app.controller('test', function ($scope, $http) {
  $http.get('connection.properties').then(function (response) {
    console.log('a is ', response.data.a);
    console.log('b is ', response.data.b);
  });
});

You can see an example here:

http://plnkr.co/edit/3Ne3roFOwcfVmg2mgnUr?p=preview

Solution 2:

Simple way is to

  1. create a js file named

    "config.js" (lets assume in the path scripts/config/config.js)

    config.js:

    var test1="http://testurl.com" var test2="globalconstant"

  2. In the html page include this config.js at the top (above the main controller.js): **<script.. src="./scripts/config/config.js"></st>**

  3. In the controller make the following change:

    MainController.js: $scope.appUrl = test1; $scope.appConstant = test2;

Solution 3:

Langdon's answer loads the content of the properties file for me but the value inside the properties are not accessible to me in the format of response.data.a and response.data.b etc and always returns undefined. For the value to be available to me I have to extract the content of the properties file and to turn them into JSON format before I can use it. A modification of the above proposed solution would be such:

var app = angular.module('app', []);

app.controller('test', function ($scope, $http) {
    functionextractProperties(data){
        const lines = data.split("\n");
        properties = {}

        for (const l of lines) {
            const line = l.trim();
            if (!line || line[0] === '#') {
                continue;
            }
            const keyValue = line.split("=");
            const key = keyValue[0].trim();
            const value = keyValue[1].trim();
            properties[key] = value

        }

        return properties;
    }

    $http.get('connection.properties').then(function (response) {
        const properties = extractProperties(response.data);
        console.log('URL is ', properties.url);
        console.log('User is ', properties.user);
    });
});

Post a Comment for "Angularjs Read From Properties File"