yh-scriptloader

1.0.13 • Public • Published

yh-scriptloader

功能:

同步/异步加载 html <script> 标签

安装:

npm i yh-scriptloader --save

用法:

1. 引入

    import { createLoaders } from "yh-scriptloader";

2. 创建 loaders

    const mapjs = `https://webapi.amap.com/maps?v=2.0&key=${gaodekey}`;

    const mapUI = "https://webapi.amap.com/ui/1.1/main.js";

    const srcs = [
      [
        { src: mapjs },
        { src: mapUI }
      ]
    ];
    const loaders = createLoaders(srcs);

3. 加载回调

  • 普通回调风格
   loaders.loading((res) => {
      if(res.loaded){
          this.mapSetUp();
      }else{
          console.log(res);
      }
    });
  • Promise风格
  loaders
    .loading()
    .then((result) => {
      console.log("scriptloader - loading", result);
    })
    .catch((err) => {
      console.log("scriptloader - loading", err);
    });

API :

创建加载器

createLoaders(parms)

  • 返回类型 YHLoaders

  • parms(asyncArray) - Array.<syncArray>

最外层为 asyncArray - 里层为 syncArray

即:

  • asyncArray 中的所有单元为异步加载
  • syncArray 中的所有单元为同步加载

例如

使用异步加载

    const srcs = [
        [{ src: mapjs }],
        [{ src: mapUI }]
    ];

使用同步加载

    const srcs = [
      [
        { src: mapjs },
        { src: mapUI }
      ]
    ];

加载与回调

.loading(callback)

序号 参数名称 类型
1 callback Function

直接加载

YHloading(parms)

序号 参数名称 类型
1 parms Array.<syncArray> 同 createLoaders(parms)
  • 普通回调风格
  YHloading(srcs, () => {
    console.log("scriptloader - loading", window.AMap);
  });

  • Promise风格
  YHloading(srcs)
    .then((result) => {
      console.log("scriptloader - loading", result);
    })
    .catch((err) => {
      console.log("scriptloader - loading", err);
    });

Readme

Keywords

Package Sidebar

Install

npm i yh-scriptloader

Weekly Downloads

5

Version

1.0.13

License

AGPL-3.0

Unpacked Size

43.5 kB

Total Files

9

Last publish

Collaborators

  • liuyonghu