@knfs-tech/bamimi-autoload
v1.0.7
Published
Autoload module
Downloads
65
Readme
This is a package that helps you autoload files without having to re-import them in the code
!!! WARN: It is recommended that because it will be used as a global variable, you should consider using it to avoid affecting memory and conflicting global variables.
Install
npm i @knfs-tech/bamimi-autoload
#or
yarn add @knfs-tech/bamimi-autoload
Usage
Step 1: Update info to package.json
{
"name": "<name project>",
...,
"autoload": {
"modules": {
"module1": ""
"module2": "module2"
},
"packages": {
"@knfs-tech/bamimi-socket.io": "socket"
},
"files": {
"configs/config.js": "config"
}
},
...,
}
autoload have 3 types and structure in each types is
{
<file_path/package_name/module_name> : <name_param_will_be_used>
}
See the example below for better understanding
It can be understood that variables and values autoloaded are readily available for immediate use without the need for further import. If these values are assigned with parameters, they can be accessed using the format $_<param>. Else it is just imported
3 types of autoload are:
- modules are folders
- packages are node_module packages
- files are javascript files or json files
Step 2: Create file index.js
require("@knfs-tech/bamimi-autoload")
const { createServer } = require('node:http');
const express = require("express");
const app = express();
const server = createServer(app);
/**
* Above we declared @knfs-tech/bamimi-socket.io as a socket
* and configs/config.js is config
* so now we will use it and no need to import it again.
**/
$_socket.io(server, $_config)
const connection = (io, socket) => {
console.log("____Connection___")
}
$_socket.on(
'/abc',
function (socket, next) {
console.log("___Middleware socket___")
next()
},
connection
)
/**
* similar to sockets
**/
console.log($_module2)
server.listen(3001, () => {
console.log(`server running at http://localhost:3001`);
})
Step 3: Run file index.js
npm start
#or
node index.js
#or
yarn start
Author
Owner
License
Bamimi is open-sourced software licensed under the MIT license.