1.0.9 • Published 8 months ago

dynamic-loading-script v1.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

dynamic-loading-script

动态加载脚本,并根据脚本的加载情况,执行回调函数。

  • 如果脚本已经加载,直接执行回调函数,避免重复加载
  • 如果脚本未加载,先加载脚本,再执行回调函数

注意事项

  • 异步加载js - 如果js已经加载过,则直接返回 如果cdn不是直接返回js类方法,而是采用jsonp的方式, 请务必传入jsonpCallbackName参数

安装

npm install dynamic-loading-script --save
yarn add dynamic-loading-script --save

使用

参数

参数类型说明默认值必填
UrlString脚本的url地址
optsObject配置项
opts.variableNameString脚本中的变量名,如果脚本中有变量名,可以通过该参数获取到该变量
opts.callbackFunction脚本加载完成后的回调函数, 此属性存在时
opts.jsonpCallbackNameString脚本的jsonp方法名
opts.timeoutnumber是否在超时之后移除script标签false

使用jsonp的形式参见jsonp示例

// 引入改js后,可以直接获取js库变量(类)的例子,
import dynamicLoadScript from 'dynamic-loading-script'

dynamicLoadScript('https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js', {
    variableName: 'axios',
    callback:(axios) => {
        console.log('axios loaded', axios)
        console.log('axios', window.axios)
    }
})
import dynamicLoadScript from "dynamic-loading-script";
dynamicLoadScript( "https://cdn.bootcdn.net/ajax/libs/echarts/5.0.2/echarts.min.js",
  {
    variableName: "echarts",
  }
).then((echarts) => {
  console.log(echarts);
});

注意

  • $已经为window已存在的变量,故动态加载jquery不会成功
1.0.9

8 months ago

1.0.8

9 months ago

1.0.7

9 months ago

1.0.6

12 months ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago