4
respostas

Module.exports

Ola o que mudaria entre deixar o codigo dentro do module.exports ou deixar ele fora?

4 respostas

Fala ai Maicon, se você deixar ele forá, o mesmo não poderá ser importado e reutilizado por outro arquivo, seria algo privado para apenas aquele arquivo (resumindo).

Agora, fazemos o export para que o mesmo possa ser importado através do required.

Espero ter ajudado.

Ah bom eu to desenvolvendo um meio google keep e eu me deparei com um problema que e assim

const express = require('express');

const router = express.Router();



router.post('/register', async (req, res)=>{


    function Connection(app){
        const connection = app.db.createDBConnection();
        const users = new app.db.authDao(connection);
        return users;
    }

        await users.insert(req.body, (err, results)=>{
            try {
                res.status(200).send({"ok":true})
            } catch (err) {

                res.status(400).send({"Error Register":"400"})

            }
        });

});

module.exports = (app)=>{
    app.use('/auth', router);
}

Eu nao consigo utilizar a function connection por causa do app, vc saberia de alguma forma pra alternar esse problema?

Acho que seu código possuí alguns pontos de melhoria e erros, tente assim:

const express = require('express');
const router = express.Router();

router.post('/register', async (req, res)=> {

        const connection = app.db.createDBConnection();
        const users = new app.db.authDao(connection);

        await users.insert(req.body, (err, results)=>{
            try {
                res.status(200).send({"ok":true})
            } catch (err) {

                res.status(400).send({"Error Register":"400"})

            }
        });

});

module.exports = (app)=>{
    app.use('/auth', router);
}

Não vi necessidade de função Connection (pelo menos não nesse trecho de código).

Ele nao reconhece a var 'app', (ReferenceError: app is not defined), e aonde esta o problema eu nao consigo compartilhar a var app pra fora do escopo do module.export e se deixar a function Connection dentro do module.export ele da erro na linha aonde eu salvaria o connection

const express = require('express');

const router = express.Router();

    function Connection(app){
        const connection = app.db.createDBConnection();
        const users = new app.db.authDao(connection);
        return users;
    }


router.post('/register', async (req, res)=>{

    const users = Connection(app);

        await users.insert(req.body, (err, results)=>{
            try {
                res.status(200).send({"ok":true})
            } catch (err) {

                res.status(400).send({"Error Register":"400"})

            }
        });

});

module.exports = (app)=>{
    Connection(app);
    app.use('/auth', router);
}