@lemuria/load-scripts

1.2.0 • Public • Published

@lemuria/load-scripts

npm version

@lemuria/load-scripts Loads Scripts And JSON With A Callback.

yarn add @lemuria/load-scripts

Table Of Contents

API

The package is available by importing its default and named function:

import loadScripts, { loadJson, loadStyle } from '@lemuria/load-scripts'

Scripts and styles will be injected using the script and link elements. The results are cached, and resources won't be loaded more than once. To load them without cache, the nocache property should be set on the src string, e.g., const src = 'test.js'; src.nocache = true, or using a cache buster: test.js?random-string.

loadScripts(
  scripts: !Array<string>,
  callback: function(Error, !Array<!Event|string>=): void,
): void

Loads scripts by creating script elements, appending them to DOM and waiting for onload event. JSON is loaded via XHR. The callback will be called with an array of: event objects for scripts, and responseText for JSON.

  • scripts* !Array<string>: Path to scripts, including JSON.
  • callback* function(Error, !Array<(!Event | string)>=): void: The callback to execute when all data is loaded. In case of failure, called with the first error once.
import loadScripts from '@lemuria/load-scripts'

document.body.onload = () => {
  loadScripts([
    'data.json',
    'js/dep.js',
    'js/dep2.js',
  ], (err, res) => {
    if (err) return console.warn(err.message)
    const [data] = res
    const parsed = JSON.parse(data)
    console.log(parsed)
  })
}

loadJSON(
  url: string,
  callback: function(Error, string=): void,
): void

Loads JSON via XHR.

  • url* string: The JSON url to load.
  • callback* function(Error, string=): void: The callback when the server returned text and status 200.

loadStyle(
  url: string,
  onload: function(Event, Event=): void,
): void

Loads a style by creating the link element.

  • url* string: The style url to load.
  • onload* function(Event, Event=): void: The callback when the onload or onerror even was fired on the link, with the first arg being the error event.

Copyright

(c) Art Deco 2019

Package Sidebar

Install

npm i @lemuria/load-scripts

Weekly Downloads

0

Version

1.2.0

License

MIT

Unpacked Size

20.7 kB

Total Files

15

Last publish

Collaborators

  • zvr