I want to create a Class
and make it available on my controllers. I don't want to use helpers in this particular case because I'm planning to create an npm package later with this code. I don't want to create a package now, because I don't want my code to be public.
I've tried adding this code inside a file in the hooks folder:
console.log('Hook executed!');
module.exports = class Test {
constructor() {
console.log('Object created!');
}
}
When I lift the app I see that the hook it's being loaded:
info: Starting app...
Hook executed!
Then in a random controller I'm adding:
const test = new Test();
And when I execute the controller:
ReferenceError: Test is not defined
Update: According to the documentation hooks are defined in a different way. So maybe using hooks is not the best approach. Any ideas on how to make a Class available on the controllers with or without using hooks?
Your files should be like these files shown bellow:
myClass.js
'use strict';
class Test {
constructor() {
this.name = 'test';
}
}
module.exports = Test;
The other file which you want to use this class should look like this:
index.js
const Test = require('./myClass');
let a = new Test();
console.log(a.name);
After that when you run index.js file, you will see 'test' in your console.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With