Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/huruji/assets-preloader

load web assets, like js, css, image, and return a promise
https://github.com/huruji/assets-preloader

Last synced: 3 months ago
JSON representation

load web assets, like js, css, image, and return a promise

Lists

README

        



# assets-preloader
load web assets, like js, css, image, and return a promise

> notice: assets-preloader only support image assets now, other assets will be as features in next version
## example

![](./preloader-example.gif)

see [Example](./example/README.md)

## How to use

```bash
npm i assets-preloader -S
```

```js
import Preloader from 'assets-preloader'

const imgs = [
// your imgs
// like 'http://assets-preload.io/logo.png'
]

const loader = new Preloader(imgs)

loader.listen('progress', (val) => {
// your code when progress events emited
// like: console.log(val)
})

// start load
loader.load().then(() => {
// your code when all assets loaded
// like console.log('success')
})
```

## Api

`Preloader` is a class, so you need init an instance

```js
const loader = new Preloader(assets)
```
### `.load`

start to load assets, it returns a `promise`

```js
loader.load().then(() => {
// your code
})
```

### `.listen`

listen `progress` or `error` events

```js
loader.listen('progress', (val) => {
console.log(`Loading progress is ${val}`)
})
```

### `.addEventListener`
`alias` of `.listen`

### `.add`

add asset to load

```js
loader.add('myasset.png')
```
## Events

### progress

Emited when asset loading completed, it's parameter is a progress number

### error

Emited when asset loading error, it's parameter is an `Error`

**Listening event**: you can use `onprogress` or `listen` or `addEventListener`

```js
loader.listen('progress', (val) => {
// your code when progress events emited
// like: console.log(val)
})

// equal to

loader.addEventListener('progress', (val) => {
// your code when progress events emited
// like: console.log(val)
})

// equal to

loader.onprogress = (val) => {
// your code when progress events emited
// like: console.log(val)
}
```

## How to build

```js
npm run build
```

## How to release

`assets-preloader` is using `standard-version`

```bash
# release as a major version
npm run release:major

#release as a major version
npm run release:minor

#release as a patch version
npm run release:patch

```