Javascript 如何允许抛出的错误冒泡?

Javascript 如何允许抛出的错误冒泡?,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,当我需要一个抛出错误的模块时,它最终返回一个空模块,而不是允许错误冒泡 我的代码如下所示: var模块=需要(“./path/to/the模块”); doSomethingWithComponent(模块mainComponent); 当没有抛出错误时,模块看起来类似于: { 获取者:[] 行动:[] 主要组成部分: } 当出现错误时,结果如下所示: {} 破坏组件的示例如下所示: var TheComponent=React.createClass({ getDefaultProps()

当我需要一个抛出错误的模块时,它最终返回一个空模块,而不是允许错误冒泡

我的代码如下所示:

var模块=需要(“./path/to/the模块”);
doSomethingWithComponent(模块mainComponent);
当没有抛出错误时,模块看起来类似于:

{
获取者:[]
行动:[]
主要组成部分:
}
当出现错误时,结果如下所示:

{}
破坏组件的示例如下所示:

var TheComponent=React.createClass({
getDefaultProps(){
返回{x:this.props.x};
}
});
使用Chrome的“暂停捕获异常”选项,我追踪到异常正在发生,但它正在被捕获。我找不到它被抓到的地方

下面是发生错误的屏幕截图:

下面是一个屏幕截图,突出显示了如何将其设置为空对象:

我的网页包配置如下所示:

var=require('lodash');
var path=require('path');
var fs=需要('fs');
var webpack=require('webpack');
var ExtractTextPlugin=require('extract-text-webpack-plugin');
var vendorLibs={
_:“lodash”,
$:“jquery”,
jQuery:'jQuery',
引导:“引导”,
键:“捕鼠器”,
React:'React/addons',
调试:“调试”,
cx:'类名称',
不可变:“不可变”,
immstruct:“immstruct”,
interact:'interact.js'
};
变量providePlugin={
Mixins:path.join(uu dirname,'src','app','Mixins','index.js'),
Util:path.join(uu dirname,'src','app','lib','Util.js'),
reactor:path.join(uu dirname,'src','app','reactor.js')
};
变量配置={
条目:{
app:'./src/app/components/app.jsx',
供应商:\ u0.值(供应商IBS)
},
输出:{
路径:'./src/compiled/js',
文件名:“app.js”
},
模块:{
装载机:[{
测试:/^(?。*node\u模块)+.+\.jsx?$/,测试,
加载器:“巴贝尔”
}, {
测试:/\.json5$/,,
加载程序:“json5加载程序”
}, {
测试:/\.css$/,,
加载器:ExtractTextPlugin.extract('style-loader','css loader!autoprefixer loader'))
}, {
测试:/\.减去$/,,
加载器:ExtractTextPlugin.extract('style-loader','css loader!autoprefixer loader!less loader'))
}, {
测试:/\.png$/,,
加载器:“文件”
}, {
测试:/\(ttf | eot | svg | woff2?)(\?v=(\d |\)+)?$/,
加载器:“文件名=../fonts/[hash].[ext]”
}]
},
决心:{
根目录:[
join(uu dirname,'src','app'),
join(uu dirname,'src','app','components'),
join(uu dirname,'src','less'),
连接(uu dirname,'src','icons')
],
扩展:[
“,.jsx”,“.js”
]
},
插件:[
新建webpack.optimize.commonChunkPlugin('vendor','vendor.js'),
新建webpack.ResolverPlugin(
新网页包.ResolverPlugin.directoryScriptionFilePlugin(['main'])
),
新的webpack.ProvidePlugin(u.extend({},vendorLibs,ProvidePlugin)),
新的ExtractTextPlugin('../css/app.css',{allChunks:true})
]
};
module.exports=config;
此应用程序也使用NuclearJS,需要此组件是一个动作被调度的结果,因此它也可能在那里捕获它


我希望这个错误不会被捕获,这样我就可以发现它并解决它,而无需潜入调试器。有人知道我如何做到这一点吗?

原来有一段代码带有try/catch,看起来很无辜,但导致了这个问题。在我发现我可以解决这个问题之后。看起来是这样的:

    try {
      require(`modules/${variableValue}/index`);
    } catch (err) {
      dbg(`Cannot load module ${variableValue}`);
    }
dbg
没有登录到浏览器,因此我没有看到它