2016-11-15 103 views
0

我正在使用chrome调试反应本机。 当我选择“暂停在捕获的异常”,“源”下调试选项卡,出现以下异常总是发生:TypeError: freeProcess.binding is not a functionReact Native - 调试异常

的文件,在其中发生异常:

http://localhost:8081/<Project_folder>/node_modules/react-proxy/node_modules/lodash/_nodeUtil.js

唯一的例外是在线路18: return freeProcess && freeProcess.binding('util');

该.js文件页面上的完整代码:

var freeGlobal = require('./_freeGlobal'); 

/** Detect free variable `exports`. */ 
var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; 

/** Detect free variable `module`. */ 
var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 

/** Detect the popular CommonJS extension `module.exports`. */ 
var moduleExports = freeModule && freeModule.exports === freeExports; 

/** Detect free variable `process` from Node.js. */ 
var freeProcess = moduleExports && freeGlobal.process; 

/** Used to access faster Node.js helpers. */ 
var nodeUtil = (function() { 
    try { 
    return freeProcess && freeProcess.binding('util'); 
    } catch (e) {} 
}()); 

module.exports = nodeUtil; 

避免此异常的最优雅的方法是什么?

谢谢!

+0

这将是语法错误。尝试做'停止远程JS调试'和'重新加载'。 –

+0

我不明白,它怎么会是一个语法错误?我没有写这个代码,它是一个内置的库... 我试过停止远程js调试和重装 - 并没有解决这个问题。 我认为它与node.js有关,但我不使用node.js –

回答

0

好吧,所以我暂时解决了它。

我已经改变了行18:

return freeProcess && (typeof freeProcess.binding === "function") && freeProcess.binding('util'); 

在这个文件中:

/<Project_folder>/node_modules/react-proxy/node_modules/lodash/_nodeUtil.js 

该解决方案是不是最好的,因为它应该是固定的在库的饭桶。我认为库是lodash,但我找不到它的git中的文件 - https://github.com/lodash/lodash