Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular service in typescript with dependency injection and minification

I am trying to get my head round angularjs at the moment. I am currently looking at services I am also using typescript for code.

Now from samples on the web I have seen that people use something like below for a service in typescript.

class Service
{
    constructor( private $http: ng.IHttpService )
    {
    }

    public MyMethod()
    {
        this.$http.get( "/" )
            .success( null )
            .error( null );
    }
}

Now if this is minified I would lose $http from the constructor and angular requires the variable names. So I checked around and found I can use $inject instead of the constructor but this also would get the same minification problem.

How are people dealing with minification and angular in a typescript context? I am struggling to find some solid docs on how this should be handled. To me this seems odd to have these problems in a modern api so I must be missing something somewhere.

like image 741
Dreamwalker Avatar asked Oct 09 '13 10:10

Dreamwalker


1 Answers

Just using the $inject syntax. e.g. :

class Service
{
    static $inject = ['$http'];    
    constructor( private $http: ng.IHttpService )
    {
    }

    public MyMethod()
    {
        this.$http.get( "/" )
            .success( null )
            .error( null );
    }
}

PS: I did a detailed video on the subject : http://www.youtube.com/watch?v=WdtVn_8K17E&hd=1

like image 71
basarat Avatar answered Oct 26 '22 23:10

basarat