NodeJs : TypeError: require(…) is not a function

前端 未结 7 880
旧巷少年郎
旧巷少年郎 2020-11-27 15:27

I am trying to require a file and afterwards pass it to a var. I am following this tutorial to create a authentication system. After writing the server.js file and trying to

相关标签:
7条回答
  • 2020-11-27 16:18

    I think this means that module.exports in your ./app/routes module is not assigned to be a function so therefore require('./app/routes') does not resolve to a function so therefore, you cannot call it as a function like this require('./app/routes')(app, passport).

    Show us ./app/routes if you want us to comment further on that.

    It should look something like this;

    module.exports = function(app, passport) {
        // code here
    }
    

    You are exporting a function that can then be called like require('./app/routes')(app, passport).


    One other reason a similar error could occur is if you have a circular module dependency where module A is trying to require(B) and module B is trying to require(A). When this happens, it will be detected by the require() sub-system and one of them will come back as null and thus trying to call that as a function will not work. The fix in that case is to remove the circular dependency, usually by breaking common code into a third module that both can separately load though the specifics of fixing a circular dependency are unique for each situation.

    0 讨论(0)
提交回复
热议问题