Comments (3)
Hi @AntonyZ89 to resolve this issue in the proper manner I would recommend you to do this instead:
@provide(TwitchProvider)
class TwitchProvider {
async getAuthProvider(): Promise<string> {
return randomUUID();
}
}
export { TwitchProvider };
Use the container to request services, instances like the code below:
@provide(App)
class App extends Application {
private twitchProvider: TwitchProvider;
constructor() {
super();
this.twitchProvider = container.get<TwitchProvider>(TwitchProvider);
}
protected configureServices(): void {
Environments.checkAll();
}
// eslint-disable-next-line @typescript-eslint/no-empty-function
protected postServerInitialization(): void {
console.log(this.twitchProvider.getAuthProvider());
}
protected serverShutdown(): void {
log(LogLevel.Info, "Server is shutting down", "logger-provider");
super.serverShutdown();
}
}
const appInstance = new App();
export { appInstance as App };
This is a very similar approach to .NET core on requesting services from the DI system, and how we are using at the moment on ExpressoTS
serviceProvider.GetRequiredService<SERVICES.Core.IAuthService>();
Let me know if it is working fine for you, so that I can close this ticket.
from expressots.
@rsaz Thanks, it works!
from expressots.
After read the doc of Inversify I solved this problem doing the following changes:
application.provider.ts
const appInstance = new App();
export { appInstance as App };
to
export { App };
--
src/main.ts
const app = App.create(container);
to
const app = container.get(App);
app.create(container);
Opened this issue because I believe it is a problem in the template as it does not accept injecting dependency into the Application class.
from expressots.
Related Issues (20)
- Missing the start script in package.json HOT 2
- Implement middleware Multer HOT 6
- Implement Helmet Middleware HOT 2
- Implement Passport Middleware HOT 12
- feat: Global Error Handler and Response envelope as middleware HOT 3
- Implement Expressjs Rate Limit Middleware HOT 5
- Linter is not working until we setup the husky HOT 2
- Implement Session Middleware HOT 3
- Implement Unit test for Core HOT 1
- Deploy to cloudflare workers
- Scaffold of Middleware from CLI
- Generating service from CLI is not picking up the correct controller folder HOT 1
- Implement dependabot
- Enhancement: Extend Expresso Configuration for Prisma Provider Integration
- Improve graceful shutdown in the application life cycle events HOT 1
- Remove "should" from test labels
- Website ChunkLoadErrors HOT 2
- POC: Add Class Validator HOT 1
- Add vitest config
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from expressots.