rx-script-loader

1.0.3 • Public • Published

rx-script-loader

RxScriptLoader is a fast, lightweight and flexible script that speeds up your web application by loading js files dynamiclly. It's written in TypeScript and uses RxJS library. Can be used as ES2015 module import or can be loaded with script tag.

Installation

npm install rx-script-loader

Usage

ES2015 module import:

import { ScriptLoader } from 'rx-script-loader';
// ...
const scripts =[
    {src:'https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js', defer: true, async: false},
    {src:'https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.4.0/rxjs.umd.min.js'}
];
 
const libScriptsLoader = new ScriptLoader(scripts);
libScriptsLoader.load();
libScriptsLoader.loadStatus().subscribe(status => console.log('scripts loaded', status));
 

The consumer also can use the library by loading it via a script tag:

<!doctype html>
<html>
  ...
  <script src="dist/rx-script-loader.js"></script> 
  <script>
    
   const scripts =[
    {src:'https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js', defer: true, async: false},
    {src:'https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.4.0/rxjs.umd.min.js'}
   ];
 
   const scriptLoader = new RxScriptLoader.ScriptLoader(scripts);
 
   scriptLoader.load();
 
   scriptLoader.loadStatus().subscribe(status => console.log('scripts loaded', status));
  </script> 
</html>

Script Model

src - string, required

defer - true/false, optional

async - true/false, optional

ASYNC AND DEFER

Both async and defer are script attributes:

if you provide both, async takes precedence on modern browsers. Old browsers that support defer but do not support async will fallback to defer.

/rx-script-loader/

    Package Sidebar

    Install

    npm i rx-script-loader

    Weekly Downloads

    1

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    190 kB

    Total Files

    13

    Last publish

    Collaborators

    • sfayman