Npm 发生反应-缩小的异常
我已经通过NPM安装了React js,并使用browserify管理React中的组件。当React中发生异常时,控制台显示为 “未捕获错误:发生了缩小的异常;请使用未缩小的开发人员。” 完整错误消息和其他有用信息的环境 警告。”Npm 发生反应-缩小的异常,npm,reactjs,browserify,Npm,Reactjs,Browserify,我已经通过NPM安装了React js,并使用browserify管理React中的组件。当React中发生异常时,控制台显示为 “未捕获错误:发生了缩小的异常;请使用未缩小的开发人员。” 完整错误消息和其他有用信息的环境 警告。” 如何启用完整的错误消息?将NODE_ENV设置为development,正如Benjamin Grunbaum在评论中指出的那样,解决了这些问题 set NODE_ENV=development 我终于解决了这个问题 如果您和我一样,运行了该命令来设置NODE_E
如何启用完整的错误消息?将NODE_ENV设置为development,正如Benjamin Grunbaum在评论中指出的那样,解决了这些问题
set NODE_ENV=development
我终于解决了这个问题 如果您和我一样,运行了该命令来设置NODE_ENV,但实际上从未运行过,请检查您是否链接到react.min.js而不是文件的完整版本
链接到完整版本,它应该像一个符咒一样工作D如果您使用jspm捆绑代码,请注意0.16.24版导入React的精简“生产”版本,这会引发此错误。我的临时解决方案是将jspm降级到0.16.23
编辑jspm的未来版本将允许您声明生产版本与开发版本(请参阅)我有这个问题,对我来说,我不需要禁用缩小或使用react source。我的脚本刚刚加载到根元素之前。因此,我只是将脚本从索引文件源代码的head和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
eg时,我遇到了这个错误
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;
}
render(){
让我们看看;
//未引起注意,并在视图未指定值的情况下滑倒
如果(this.props.foo=='hello'){
视图=
}
else if(this.props.foo=='bye'){
视图=
}
返回视图;
}
当This.props.foo为“hi”时,这将触发错误。是否检查了尝试渲染的DOM元素?由于一个愚蠢的错误,我以前犯过这个错误。最糟糕的是捆绑包被缩小了。元素id不相同 Index.html
<div id="ds-app"></div>
app.jsx
React.DOM.render(<App/>, document.getElementById('app'))
React.DOM.render(,document.getElementById('app'))
如果您在Karma+网页包中遇到此问题,以下网页包配置为我在运行测试时修复了此问题:
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('development')
}
})
]
从开始,production React错误消息(NODE_ENV=production
)现在包含一个URL,您可以访问该URL,在那里可以看到原始的未模糊错误
您应该考虑升级以反应15.2,以便访问这些错误消息。此外,还为您提供了一些生产崩溃报告工具。
在生产中使用min.js文件,或者将您的应用程序代码与process.env.NODE\u env==='production'
捆绑在一起,您应该准备好了 如果您的package.json脚本有dll
,请尝试execnpm-run-dll
或warn-run-dll
,它告诉您,“使用非小型开发环境获取完整的错误消息和其他有用的警告。”这是关于使用react with browserify的文档的第一页-您的NODE_ENV
是否设置为production
?非常欢迎,现在我可以写一个答案了,但我认为用问答的方式写这个答案会更有价值。更好的问题:为什么缩小的异常不能有堆栈跟踪?在开发模式下没有异常发生时,这是一个相当大的问题……我从我的package.json执行set NODE_ENV=development&&NODE app.js,但仍然只得到最小的错误:(在gulpfile中,我确实执行了process.env.NODE_env='development'
,但仍然收到了一条通用消息??您可以尝试在命令提示符下执行set NODE_env=development
并查看吗?我在项目的基本目录下的命令提示符下写下了这条消息。但是,它似乎没有任何效果。(我使用的是Windows 7)如果这个不适合你。“WTF为什么我会出现这个错误?”让我快速查看一下StackOverflow-哦,snap-我在评论中回答了它。我的生活故事-你介意解释一下你是如何链接到完整版本的吗?你是否需要('./node\u modules/react/dist/react.js')
?在使用脚本标记src属性的html中,我没有链接到完整版本,我使用的是生产版本。这是在我理解如何使用bower之前,所以我不理解其中的区别。这是真的,请检查您是否在呈现函数中使用了一些尚未创建或未定义的变量,这确实是一个误导性错误或者消息,但这对meIt很重要,为了这个答案,他特别提到了生产模式中的错误消息,这一点确实是相关的。