fnode

1.4.4 • Public • Published

DyloaderJS

Dynamic loader script for web page. Similar to [node-require].

Usage

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="location/dyloader-js-[versionalize]"></script>
<script src="location/main-script.js"></script>

Declare (only once for each script)

// returnable script (Caller script will wait for exports of object)
// the returneds var of declare works relative the current script
const { require, exports, pathHelper,  resources, script } = dyLoaderJS.declare();
 
//void script
const { require, pathHelper,  resources, script } =  dyLoaderJS.declare( { returns: false } );

Require (the number of time it is necessary)

//simple require | extension of .js is optional
const object = require( 'relative-path-of-scritp/script[.js]' );
 
//list of scripts
const objects = require( [
    'relative-path-of-script-1[.js]',
    'relative-path-of-script-2[.js]',
    'relative-path-of-script-3[.js]',
    ...
] );
 
//multples named object in diferents scripts
const { object1, object2, object3 } = require ( {
    object1: "relative-path-of-object1[.js]",
    object2: "relative-path-of-object2[.js]",
    object3: "relative-path-of-object3[.js]",
    ...
} );
 
//Relative to location of page
const ... = dyLoaderJS.require( ... );

Exports (only once for each script)

// exports a class
class Person {
    ...
}
exports( Person );
 
// exports a object
class Car {
    ...
}
exports( new Car ( "Toyta", "RAV4" ) );

With versionalize:

<<<<<<< HEAD
//in main script ...
dyLoaderJS.withVersion({
    variable: 'v',
    code: '1.0.0'
});
//<script src="path-of-requirede-script?v=1.0.0"></script>

Require multiple scripts in parallel mode and save timeout (recommended only if there is no dependency between scripts)

// opts.parallel default is false
const lists = require( [...], { parallel: true } );
const objects = require( {...}, { parallel: true } );

Scripts exemple:

( async () =>{
    const { require, exports, pathHelper,  resources, script } = dyLoaderJS.declare();
 
    const Person = await require('../relative-path/person');
 
    class Student extends Person{
        ...
    };
 
    exports( Student );
})();

Void Scripts exemple:

( async()=>{
    const { require, pathHelper,  resources, script } = dyLoaderJS.declare( { returns: false } );
 
    const Person = await require('../relative-path/person');
    let person1 = new Preson ( "Jão Maria" ); 
    person1.kill();
})()

Readme

Keywords

none

Package Sidebar

Install

npm i fnode

Weekly Downloads

2

Version

1.4.4

License

ISC

Unpacked Size

57.3 kB

Total Files

19

Last publish

Collaborators

  • zootakuxy