2016-10-14 2 views
1

webpack2 프로젝트로 angular2를 angular-cli 기반 프로젝트로 변환하려고합니다.webpack 2를 사용하여 Angry-Cli 기반 프로젝트로 DefinePlugin

정확하게 이해하면 angular-cli가 이제 webpack을 지원합니다. webpack.config.js 파일에 다음을 추가하여

module.exports = { 
    webServer: { 
     appBaseHref : JSON.stringify("/") 
    }, 
    auth0: { 
     apiKey: JSON.stringify("API_KEY"), 
     domain: JSON.stringify("DOMAIN.auth0.com"), 
     callbackUrl: JSON.stringify("CALLBACK_URL") 
    } 
}; 

: 내 원래의 프로젝트에 나는 app.config.js 다음을 주입

const appConfig = require("./config/app.config"); 
const DefinePlugin = require("webpack/lib/DefinePlugin"); 
... 
module.exports = { 
    plugins: [ 
     new DefinePlugin({ 
      APP_CONFIG: appConfig 
     }), 
... 

다음 내 타이프 라이터 프로젝트에서 내가 declare var APP_CONFIG:any;와 APP_CONFIG를 선언합니다 다음 나는 특성을의 사용합니다 . Angi-cli 프로젝트에 이러한 객체를 삽입하려면 어떻게해야합니까?

감사

+0

이 서비스를 제공 할 수 없습니까? – Chrillewoodz

+0

@Chrillewoodz - 예 .. 왜 .. 내가 처음에 webpack을 사용하여 왜 그랬는지 알아 내려고 노력했지만 아무 것도 얻지 못했습니다 :) 무엇을해야합니까? 답변으로 게시 하시겠습니까? 이 질문을 삭제합니까? – ufk

+0

맙소사. – Chrillewoodz

답변

2

여기에 단지 setget 방법으로 정상적인 서비스를 사용하는 간단한 예입니다 : 대신하지만 난 당신이 관찰로 변환 할 수 있습니다 더 복잡한 사용 사례를 들어

import {Injectable} from '@angular/core'; 

@Injectable() 

export class AppConfigService { 

    public config: any = { 
    apiKey: '[api_key]', 
    domain: '[domain]', 
    callbackUrl: '[callbackUrl]' 
    } 

    constructor() {} 

    /* Allows you to update any of the values dynamically */ 
    set(k: string, v: any): void { 
    this.config[k] = v; 
    } 

    /* Returns the entire config object or just one value if key is provided */ 
    get(k: string): any { 
    return k ? this.config[k] : this.config; 
    } 
} 

가 이 단순한 경우에 필요한 것을 보지 못한다.