Harno-kernel-web
Npm module that helps you to build your web-like js projects.
This module is basically the same as harno-kernel
, but it also contains a lot of usefull services for web
Install
npm install harno-kernel-web
Usage (SORRY, IT IS NOT QUITE RIGHT, WILL BE UPDATE SOON)
Basic
main.js
// you can export WebKernel instanceconst YourService = const webKernel = default { // you can init all default services and it's dependencies webKernel webKernel // some services have logger service as their dependencies, so before initing them, it would be great to configure logger webKernel // call init methods of some services webKernel // you can register your services like this webKernel // you can init dependencies for your service like this webKernel // you can get any service by its name like this const yourAnyName = webKernel // or const yourAnyName = webKernelsyourAnyName }
Advanced
main.js
// you can export WebKernel class, or any other available serviceconst YourService = const WebKernel ConfigService ExpressService ... = default { thiskernel = // you can register services thiskernel thiskernel thiskernel // you can init dependencies for any service (for some default services you must do that) thiskernel // you need to call init function of some default services thiskernelsexpress // in this example YourService would have property _dependencies or _d with links to express and config services const yourAnyName = thiskernel // look at the your.file.js bellow console // output: My dependencies is: express and config } async { // you can get services like this thiskernel // or like this const port = thiskernelsconfigServicecport await thiskernelsexpressServicestartport }
your.file.js
{ // after init your service will have property _dependencies or _d, that will contain all inited dependencies const express = this_dexpress const config = this_dconfig if express && config console }
API
new WebKernel()
Creates new server kernel instance
webKernel.initDependencies(dependenciesConfig)
- dependenciesConfig example:
const dependenciesConfig = serviceName1: 'serviceName2' 'serviceName3' serviceName2: 'serviceName4' ...
Inits/sets services dependencies, so that in our example service serviceName1
will have property _dependencies
or _d
that would contain serviceName2
, serviceName3
services
webKernel.registerService(name, Service)
- name - service name (can be any string)
- Service - any js class
Register/saves Service
class instance under the name
in the server kernel
webKernel.getService(name)
- name - service name
Gets service that was created under that name
webKernel.s
Kernel property that contains all registered services
webKernel.registerDefaultServices()
Registers all default services under default names (look at Defaut services
for more info)
webKernel.initDefaultServicesDependencies()
Inits all default services dependencies
webKernel.initDefaultServices()
Inits all default services. Calls init
method of default services
Default services
TestService
- Default name:
testService
- Dependencies:
['testService']
- Description: Test class would be deleted
- API: Work in progress, so more reliable api would be announced later