Angular 2是否将服务手动注入类?

Angular 2是否将服务手动注入类?,angular,angular2-services,Angular,Angular2 Services,我想将一个服务注入到一个只有常量的类中 我要注入的服务是: import {Injectable} from '@angular/core'; import {ActivatedRoute, Router, NavigationStart} from '@angular/router'; import {location} from '@angular/common'; enum Environment { local, dev } @Injectable() export

我想将一个服务注入到一个只有常量的类中

我要注入的服务是:

import {Injectable} from '@angular/core';
import {ActivatedRoute, Router, NavigationStart} from '@angular/router';
import {location} from '@angular/common';

enum Environment {
    local, 
    dev
}

@Injectable()
export class EnvService {
    private _env: Environment = Environment.dev;

    constructor(
        private router: Router,
        private activatedRoute: ActivatedRoute,
        private location: Location
    ) {
        this._env = someApiCallToGetEnv(); 
    }

    getEnv(): string {
        return Environment[this._env];
    }
}
我想给它注入的类是

import {ModuleWithProviders} from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import {ResourcesComponent} from 'components/resources.ts';

import {EnvService} from 'services/env.service';


const appRoutes: Routes = [
    {
        path: '',
        redirectTo: EnvService.getEnv() + '/resources',
        pathMatch: 'full'
    },
    {
        path: 'resources',
        component: ResourcesComponent,
    }
];

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
根据环境的不同,我希望当用户第一次导航到网站根目录时,重定向链接是动态的


如何执行此操作?

您只能为routesBtw创建模式getenv方法应返回什么?它以字符串形式返回一个环境枚举。还有更多我没有列出的。环境变量应该在你的情况下在前端静态使用,或者创建一个路由链接
:myroute/resources
,现在无论你在运行应用程序后用任何环境url重定向到哪里,它都会work@BabarBilal在根“”处。我可以在哪里添加例如:根/应用程序级别的env?如果我添加`{path:'',重定向到:':env/resources',pathMatch:'full'},`您只能为routesBtw创建模式getenv方法返回什么?它以字符串形式返回一个环境枚举。还有更多我没有列出的。环境变量应该在你的情况下在前端静态使用,或者创建一个路由链接
:myroute/resources
,现在无论你在运行应用程序后用任何环境url重定向到哪里,它都会work@BabarBilal在根“”处。我可以在哪里添加例如:根/应用程序级别的env?如果我添加`{path:'',重定向到:':env/resources',pathMatch:'full'}`