最近在写node相关需求,出现几个常见问题, 我解决问题之后,觉得还是把这些坑都写清楚,方便 node 的初学者。
1.node调用外部文件的自定义函数
出现 TypeError: XXXX is not a function 函数未定义错误
原因:没有正确的引用外部文件的自定义函数。
将外部文件中自定义函数添加 module.exports
module.exports = {
A:function (){
},
}
问题解除
2.引用函数错误造成运行程序错误
events.js:292 throw er; // Unhandled 'error' event 问题
运行node程序发现报错:
events.js:292
throw er; // Unhandled 'error' event
^
Error: Invalid URI "./ding"
at Request.init (D:\node\node_project\node_modules\request\request.js:273:31)
at new Request (D:\node\node_project\node_modules\request\request.js:127:8)
at request (D:\node\node_project\node_modules\request\index.js:53:10)
at Object.<anonymous> (D:\node\node_project\app.js:6:12)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
Emitted 'error' event on Request instance at:
at Request.init (D:\node\node_project\node_modules\request\request.js:273:17)
at new Request (D:\node\node_project\node_modules\request\request.js:127:8)
[... lines matching original stack trace ...]
at internal/main/run_main_module.js:17:47
发现在引用函数时,引用了错误的函数:
// 将request修改为require
var ding = request('./ding')
// 修改为 require
var ding = require('./ding')
再次运行,发现问题解除。