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 🙏

© 2025 – Pkg Stats / Ryan Hefner

xr-image

v1.0.1

Published

> 支持自动重试和手动重试的图片组件

Readme

Image

支持自动重试和手动重试的图片组件

安装

npm i -S xr-image

使用

import Image from 'xr-image'

const img = new Image({
  src: string;
  el?: HTMLElement | string; // 挂在对象 字符串选择器 或 Element 元素
  alt?: string;
  reloadAttempts?: number; // 重试次数,默认 10 次
  retryInterval?: number; // 重试间隔,默认 500ms
  tsParam?: string; // 重试 url 时间戳 key 名,默认 t
  width?: number | string; // 加载中和错误时的宽度,默认 110px。加载成功会去除
  height?: number | string; // 加载中和错误时的高度,默认 110px 。加载成功会去除
  cls?: string; // class
  style?: Partial<CSSStyleDeclaration>; // 样式
  shape?: 'round' | 'circle' | 'square'; // 默认 square 没有圆角
  onError?: (img: Image, ev: ErrorEvent) => any; // 错误时,最后一次失败不会触发
  onFinalError?: (img: Image, ev: ErrorEvent) => any; // 最后一次重试失败触发
  onClick?: (img: Image, ev: MouseEvent) => any;
  onLoad?: (img: Image) => any;
})

// 当全部失败时显示错误 UI。用户点击会重置错误重试次数并重试。

API

dom: HTMLImageElement; // 图片元素
isLoading: boolean;
isError: boolean;

reload(): void; // 重试
resetAttempts(): void; // 重置重试次数
destroy(): void; // 销毁
addCls(cls: string): void;
removeCls(cls: string): void;
addStyle(style: Partial<CSSStyleDeclaration>): void // 添加样式
mount(dom: HTMLElement | string): void; // 如 el 参数
switch(src: string): void; // 切换图片