未定义Typescript引用错误,webpack angular2

时间:2017-01-30 14:40:00

标签: angular typescript webpack

这不是一般未定义的错误,我一直试图在过去两个小时内调试它 我在API端点的webpack插件(用于全局变量)中定义一个值,并尝试在应用程序中访问它会产生一个奇怪的错误。所以这里是webpack.dev.js中的插件结构(合并到webpack.config.js中)。

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我宣布它是为了避免错误

declare var API_PARENT: string;

现在,当我尝试console.log(API_PARENT)时,我的一个应用程序组件中出现了下面的神秘错误

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

堆栈跟踪指向该日志行。我没有得到的部分是为什么这首先是呕吐。 DEV_PARENT_TEST是一个甚至不是关键的值,为什么会出现引用错误!

1 个答案:

答案 0 :(得分:1)

我正在回答这个问题以防其他人遇到此错误。我浪费了3个小时的时间直到我解决它。线索在第一行JSON.stringify

您必须为所有字符串值执行此操作。所以唯一的变化是webpack.dev.js,应该是

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

这解决了这一切。这很可能是一个webpack问题。