我正在使用chrome来调试本机。
当我在“源”调试选项卡下选择“暂停捕获的异常”时,始终会发生以下异常:TypeError: freeProcess.binding is not a function
发生异常的文件:
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 :(得分:0)
好的,我暂时解决了。
我已将第18行更改为:
return freeProcess && (typeof freeProcess.binding === "function") && freeProcess.binding('util');
在此文件中:
/< Project_folder >/node_modules/react-proxy/node_modules/lodash/_nodeUtil.js
这个解决方案不是最好的,因为它应该在库的git中修复。我认为该库是lodash,但我找不到它的git中的文件 - https://github.com/lodash/lodash