Passing arguments to require (when loading module)

后端 未结 3 1324
情书的邮戳
情书的邮戳 2020-11-29 16:03

Is it possible to pass arguments when loading a module using require?

I have module, login.js which provides login functionality. It requires a database connection,

3条回答
  •  暖寄归人
    2020-11-29 16:44

    Based on your comments in this answer, I do what you're trying to do like this:

    module.exports = function (app, db) {
        var module = {};
    
        module.auth = function (req, res) {
            // This will be available 'outside'.
            // Authy stuff that can be used outside...
        };
    
        // Other stuff...
        module.pickle = function(cucumber, herbs, vinegar) {
            // This will be available 'outside'.
            // Pickling stuff...
        };
    
        function jarThemPickles(pickle, jar) {
            // This will be NOT available 'outside'.
            // Pickling stuff...
    
            return pickleJar;
        };
    
        return module;
    };
    

    I structure pretty much all my modules like that. Seems to work well for me.

提交回复
热议问题