这不是一般未定义的错误,我一直试图在过去两个小时内调试它
我在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
是一个甚至不是关键的值,为什么会出现引用错误!
答案 0 :(得分:1)
我正在回答这个问题以防其他人遇到此错误。我浪费了3个小时的时间直到我解决它。线索在第一行JSON.stringify
。
您必须为所有字符串值执行此操作。所以唯一的变化是webpack.dev.js
,应该是
'API_PARENT': JSON.stringify("DEV_PARENT_TEST")
这解决了这一切。这很可能是一个webpack问题。