tai*_*100 63 javascript require node.js
我试图要求一个文件,然后将其传递给var.我正在按照本教程创建一个身份验证系统.在编写server.js文件并尝试编译后,我得到了一个bson错误,因此我更改了需要在mongoose中发布版本的行.
这是我的代码和错误:
server.js
require('./app/routes')(app, passport);
Run Code Online (Sandbox Code Playgroud)
错误
require('./app/routes')(app, passport);
^
TypeError: require(...) is not a function
at Object.<anonymous> (d:\Node JS learning\WorkWarV2\server.js:38:24)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:475:10)
at startup (node.js:117:18)
at node.js:951:3
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)
我已经读过,这通常意味着requireJS没有正确加载,但我不知道为什么或如何解决它.
由于评论而编辑:
如上所述,这是结果console.log(require);
jfr*_*d00 82
我认为这意味着module.exports在你的./app/routes模块中没有被分配为一个函数因此因此require('./app/routes')不能解析为函数,所以你不能把它称为这样的函数require('./app/routes')(app, passport).
让我们看看./app/routes,如果你希望我们对进一步的评论.
看起来应该是这样的;
module.exports = function(app, passport) {
// code here
}
Run Code Online (Sandbox Code Playgroud)
您正在导出一个可以调用的函数require('./app/routes')(app, passport).
可能发生类似错误的另一个原因是,如果您有模块A正在尝试的循环模块依赖性,require(B)而模块B正在尝试require(A).当发生这种情况时,它将被require()子系统检测到,其中一个将返回null,因此试图调用它作为一个功能将不起作用.在这种情况下的修复是删除循环依赖,通常是通过将公共代码分成第三个模块,两个都可以单独加载,虽然修复循环依赖的细节对于每种情况都是唯一的.
mCY*_*mCY 21
对我来说,当我执行立即调用函数时,需要放在;的末尾require()。
错误:
const fs = require('fs')
(() => {
console.log('wow')
})()
Run Code Online (Sandbox Code Playgroud)
好:
const fs = require('fs');
(() => {
console.log('wow')
})()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87251 次 |
| 最近记录: |