Devanshu Linux
Devanshu Linux

Reputation: 63

Node.js call function on require

Is it possible to call a function in a Node.js module when it's required.

app.js

const Database = require('./database').Database;

const UsersModel = require('./model').Model; // pass the name = Users and database
const AdminsModel = require('./model').Model; // pass the name = Admins and database

database.js

export class Database {
    // some functions here
}

model.js

export class Model {
    onModelCreated(name, database) {
        this.name = name;
        this.database = database;
    }

    insert() {}
    find() {}
    delete() {}
    update() {}
}

Upvotes: 4

Views: 3523

Answers (2)

eekinci
eekinci

Reputation: 839

for the really lazy among us:

call-function-on-require.js

(() => {
  console.log('call function on require');
})();

index.js

require(`./call-function-on-require`);

output:

'call function on require'

another solution

or, if you like in call-function-on-require.js

module.exports = () => {
  console.log('call function on require');
}

// index.js: require(`./call-function-on-require`)();

Upvotes: 1

Marcos Casagrande
Marcos Casagrande

Reputation: 40394

Since require calls are cached, all the code inside the module is called once, when you require that module.

abc/index.js

const calledOnce = () => console.log('once');

calledOnce();

console.log('Also once');

module.exports = {
    ...
}

Upvotes: 5

Related Questions