Reputation: 63
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
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
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