2017-01-30 3 views
0

일반적으로 정의되지 않은 오류는 아니며 지난 두 시간 동안 디버깅하려했습니다.
API 끝점에 대한 webpack 플러그인 (전역 변수의 경우)에 값을 정의하고 있으며 응용 프로그램에서 액세스하려고하면 이상한 오류가 발생합니다. 그래서 여기에 webpack.dev.js (webpack.config.js와 병합)의 플러그인 구조가 있습니다.Typescript 참조 오류가 정의되지 않았습니다. webpack angular2

new DefinePlugin({ 
    'ENV': JSON.stringify(METADATA.ENV), 
    'HMR': METADATA.HMR, 
    // ... some other lines 
    'API_PARENT': "DEV_PARENT_TEST" // this is the line in question 
}) 

custom-typings.d.ts에 나는 console.log(API_PARENT)을하려고 할 때 그것이 내가

EXCEPTION: Uncaught (in promise): ReferenceError: DEV_PARENT_TEST is not defined 
ReferenceError: DEV_PARENT_TEST is not defined 

스택 우는 신비 오류가 TS 내 응용 프로그램의 구성 요소 중 하나 지금

declare var API_PARENT: string; 

을하는 오류 방지하기 위해 선언 trace는 그 로그 라인으로 연결됩니다. 내가 얻지 못하는 부분은 이것이 왜 처음에 왜 일어나는지입니다. DEV_PARENT_TEST은 키가 아닌 값입니다. 왜 거기에 참조 오류가 있습니까?

답변

1

다른 사람이이 오류에 직면 한 경우를 대비해 답변하고 있습니다. 내가 그것을 해결할 때까지 3 시간의 시간을 낭비했다. 실마리는 첫 번째 줄 JSON.stringify에있었습니다.

모든 문자열 값에 대해 그렇게해야합니다. 따라서 유일한 변경 사항은 webpack.dev.js입니다.

'API_PARENT': JSON.stringify("DEV_PARENT_TEST") 

그게 전부입니다. 대부분이 웹팩 질문이었습니다.

+0

공유해 주셔서 감사합니다. – eg16

관련 문제