npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-asset-loader

v0.0.1

Published

A simple react component for loading assets. It allows you to load from a single asset to multiple assets without affecting the pageload speed. You can also add custom classes, attributes and callback functions.

Downloads

121

Readme

React Asset Loader

A simple react component for loading assets. It allows you to load from a single asset to multiple assets without affecting the pageload speed. You can also add custom classes, attributes and callback functions.

Concept

We all get scared of heavy websites, there are tons and tons of articles telling us why we shouldn't build websites using heavy assets like videos or gifs. But sometimes, you just need to, sometimes you just need to build a cool interactive experience with videos, or so something cool with gifs, or a long page with lots of high quality images, etc. This component is precisely for that.

How it works.

This component allows you to load all the assets you want without affecting the pageload speed, this is because it will load the page and then it will start loading all the assets, it adds a <div className="loading"></div> wrapper while it's loading the asset so you can have a nice custom loader, when the assets are loaded it will replace the loading wrapper with the actual assets.

Install

npm install react-asset-loader --save-dev

Or just grab the component LoadAsset.js directly.

Usage

Load a single asset.

<LoadAssets assets={[{"uri":"/static/images/asset.jpg"}]} />

Load multiple assets.

When you need to load more than one asset for one experience. It will be loadad after all the assets passed are loaded.

<LoadAssets assets={[{"uri":"/static/images/video1.mp4"}, {"uri":"/static/images/video2.mp4"}]} />

// or also

var videos = [
  {"uri":"/static/images/video1.mp4"}, 
  {"uri":"/static/images/video2.mp4"}
]
<LoadAssets assets={videos} />

Adding classes.

You can add classes to each asset you pass to the component.

<LoadAssets assets={[{"uri":"/static/images/asset.jpg", "className":"class1 class2"}]} />

Adding attributes.

You can also add attributes to each asset you pass to the component.

<LoadAssets assets={[{"uri":"/static/images/video.mp4", "attributes":[{"autoPlay":"true"}, {"loop":"true"}]}]} />

// or also

var video = [{
  "uri":"/static/images/video.mp4", 
  "attributes": [
    {"autoPlay":"true"}, 
    {"loop":"true"}
  ]
}]
<LoadAssets assets={video} />

Custom onLoad callback.

You can have a custom callback for when your assets are loaded.

<LoadAssets onLoad={this.onCoolVideoLoaded} assets={[{"uri":"/static/images/video.mp4"}]} />

Examples

You'll need a webserver in order to run the examples (CORS). The quickest way to do this is just run this on the project folder:

python -m SimpleHTTPServer

Feedback and contributions

Are more than welcome. 👊

License

MIT Copyright (c) Juan Cabrera