反应 - 发生缩小的异常
React - Minified exception occurred
我通过 NPM 安装了 React js,并使用 browserify 来管理 React 中的组件。当 React 出现异常时,控制台显示为
"Uncaught Error: Minified exception occurred; use the non-minified dev
environment for the full error message and additional helpful
warnings."
如何启用完整的错误消息?
正如 Benjamin Gruenbaum 在评论中指出的那样,将 NODE_ENV 设置为开发解决了问题。
set NODE_ENV=development
我终于解决了这个问题。
如果你和我一样 运行 设置 NODE_ENV 的命令实际上从未奏效,请检查你是否链接到 react.min.js 而不是完整版本文件。
Link 到完整版本,它应该很有魅力。 :D
如果您使用 jspm 来捆绑您的代码,请注意版本 0.16.24 导入缩小的 "production" 版本的 React,这会引发此错误。我的临时解决方案是将 jspm 降级到 0.16.23。
编辑 jspm 的未来版本将允许您声明生产版本与开发版本(参见 jspm beta documentation)
我遇到了这个问题,对我来说我不需要禁用缩小或使用反应源。我的脚本只是在根元素之前加载。所以我只是将脚本移出索引文件源代码中的头部和 div 下方并修复了它。
将我的 index.jade 更改为:
html
head
title Super coo site
script(src="bundle.js")
body
div#root
为此:
html
head
title Super coo site
body
div#root
script(src="bundle.js")
当我的 render 方法返回时出现这个错误 undefined
例如
render() {
let view;
// Not paying attention and slip a case where view won't get assigned a value
if(this.props.foo == 'hello') {
view = <HelloView />
}
else if(this.props.foo == 'bye') {
view = <ByeView />
}
return view;
}
当 this.props.foo 为 'hi'
时将触发错误
您是否检查过要渲染的 DOM 元素?由于一个愚蠢的错误,我之前遇到过这个错误。最糟糕的部分是捆绑包被缩小了。元素 id 不相同
Index.html
<div id="ds-app"></div>
app.jsx
React.DOM.render(<App/>, document.getElementById('app'))
如果您在使用 Karma + Webpack 时遇到这个问题,以下 Webpack 配置在 运行 测试时为我解决了这个问题:
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('development')
}
})
]
从 version 15.2 开始,生产 React 错误消息 (NODE_ENV=production
) 现在包括一个 URL,您可以访问它,在那里您可以看到原始的、未混淆的错误。
https://twitter.com/dan_abramov/status/748969886433546240
您应该考虑升级到 React 15.2 以便访问这些错误消息。此外,一些生产崩溃报告工具 automatically unminify these errors 适合您。
在生产中使用 min.js 文件或将您的应用程序代码与 process.env.NODE_ENV === 'production'
捆绑在一起,您应该可以开始了!
如果你的package.json脚本有dll
,尝试执行npm run dll
或yarn run dll
.
我通过 NPM 安装了 React js,并使用 browserify 来管理 React 中的组件。当 React 出现异常时,控制台显示为
"Uncaught Error: Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."
如何启用完整的错误消息?
正如 Benjamin Gruenbaum 在评论中指出的那样,将 NODE_ENV 设置为开发解决了问题。
set NODE_ENV=development
我终于解决了这个问题。
如果你和我一样 运行 设置 NODE_ENV 的命令实际上从未奏效,请检查你是否链接到 react.min.js 而不是完整版本文件。
Link 到完整版本,它应该很有魅力。 :D
如果您使用 jspm 来捆绑您的代码,请注意版本 0.16.24 导入缩小的 "production" 版本的 React,这会引发此错误。我的临时解决方案是将 jspm 降级到 0.16.23。
编辑 jspm 的未来版本将允许您声明生产版本与开发版本(参见 jspm beta documentation)
我遇到了这个问题,对我来说我不需要禁用缩小或使用反应源。我的脚本只是在根元素之前加载。所以我只是将脚本移出索引文件源代码中的头部和 div 下方并修复了它。
将我的 index.jade 更改为:
html
head
title Super coo site
script(src="bundle.js")
body
div#root
为此:
html
head
title Super coo site
body
div#root
script(src="bundle.js")
当我的 render 方法返回时出现这个错误 undefined
例如
render() {
let view;
// Not paying attention and slip a case where view won't get assigned a value
if(this.props.foo == 'hello') {
view = <HelloView />
}
else if(this.props.foo == 'bye') {
view = <ByeView />
}
return view;
}
当 this.props.foo 为 'hi'
时将触发错误您是否检查过要渲染的 DOM 元素?由于一个愚蠢的错误,我之前遇到过这个错误。最糟糕的部分是捆绑包被缩小了。元素 id 不相同
Index.html
<div id="ds-app"></div>
app.jsx
React.DOM.render(<App/>, document.getElementById('app'))
如果您在使用 Karma + Webpack 时遇到这个问题,以下 Webpack 配置在 运行 测试时为我解决了这个问题:
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('development')
}
})
]
从 version 15.2 开始,生产 React 错误消息 (NODE_ENV=production
) 现在包括一个 URL,您可以访问它,在那里您可以看到原始的、未混淆的错误。
https://twitter.com/dan_abramov/status/748969886433546240
您应该考虑升级到 React 15.2 以便访问这些错误消息。此外,一些生产崩溃报告工具 automatically unminify these errors 适合您。
在生产中使用 min.js 文件或将您的应用程序代码与 process.env.NODE_ENV === 'production'
捆绑在一起,您应该可以开始了!
如果你的package.json脚本有dll
,尝试执行npm run dll
或yarn run dll
.