2015-04-12 90 views
25

我通过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."

如何启用完整的错误消息?

+2

好吧,它告诉你,“使用非缩小的开发环境提供完整的错误信息和其他有用的警告。” –

+0

我没有直接在我的源代码中引用React Js文件。我需要通过browserify进行反应,如var React = require('react'); 如何配置browserify使用非缩小版本? – Raathigesh

+2

这实际上是在有关使用与browserify反应的文档的第一页 - 您的'NODE_ENV'设置为'production'吗? –

回答

21

设置NODE_ENV,以发展为本杰明Gruenbaum指出,在注释中解决的问题。

set NODE_ENV=development 
+0

在gulpfile中,我执行'process.env.NODE_ENV ='development''但仍然获得通用消息 – Labithiotis

+0

您可以尝试执行'在命令提示符下设置NODE_ENV = development'并参见? – Raathigesh

+0

我在项目的基本目录中的命令提示符下编写了这个命令,但它似乎没有效果(我正在使用Windows 7) – octavian

8

我最终解决了这个问题。

如果你和我一样,该命令设置NODE_ENV RAN和它的字面从来没有工作过,请检查您是否要链接到react.min.js,而不是文件的完整版本。

链接到完整版本,它应该工作就像一个魅力。 :d

+1

你介意解释你做了什么来链接到完整版吗?你是否需要('./ node_modules/react/dist/react.js')'? – kevin628

+0

在你的html中使用脚本标签的src属性,我没有链接到完整版本,我使用的是生产版本。这是在我懂得如何使用凉亭之前,所以我不了解它们之间的区别。 – davidawad

7

如果使用JSPM捆绑你的代码,请注意版本0.16.24进口阵营的精缩“生产”版本,这引发此错误。我的临时解决方案是将jspm降级到0.16.23。

编辑热蒙公司的未来版本将允许你申报的生产与开发版本(见jspm beta documentation

4

我有这个问题,对我来说我并不需要禁用缩小或使用反应源。我的脚本刚刚在根元素之前加载。所以我只是将脚本移出索引文件源代码的头部和下面的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") 
-1

我得到这个错误时,我的渲染方法返回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'时的错误

+0

这是真的,检查你是否在渲染函数中使用了一些尚未创建或未定义的变量,这是非常具有误导性的错误信息,但这对我很有用 – Med7at

1

您是否检查了您尝试渲染的DOM元素?由于一个愚蠢的错误,我之前有过这个错误。最糟糕的是捆绑被缩小了。元素ID不一样

的Index.html


<div id="ds-app"></div> 

app.jsx


React.DOM.render(<App/>, document.getElementById('app')) 

11

如果您遇到与噶+的WebPack这个问题,下面的WebPack配置固定运行时,我的问题测试:

plugins: [ 
    new webpack.DefinePlugin({ 
     'process.env': { 
      NODE_ENV: JSON.stringify('development') 
     } 
    }) 
] 
-2

我不认为选择的答案是完整的答案。虽然它可能适用于某些组件,但我在JSPM 0.16.36上遇到了同样的问题,并且在我的某个组件上使用了生命周期方法shouldComponentUpdate,但删除此方法可修复此问题。

0

version 15.2开始,生产React错误消息(NODE_ENV=production)现在包含一个URL,您可以在该URL中看到原始未混淆的错误。

https://twitter.com/dan_abramov/status/748969886433546240

你应该考虑升级,以获得访问这些错误消息的反应15.2。此外,您的一些生产崩溃报告工具automatically unminify these errors

+0

重要的是要指出,对于这个答案,他特别谈论错误消息_在生产模式_,对此,确实是相关的。 – KendallB