使用Promise API加载JS、CSS或图像文件

开发 前端
如果我们可以避免在页面首次加载时加载这些API会怎样呢?这将有助于更快地加载页面内容,减少总体网络数据的使用,并降低低端设备的内存使用。

使用JavaScript或TypeScript加载资源(JavaScript,CSS,图像)的最简单方法。

Web应用程序通常使用第三方API在应用程序的特定路由上提供功能,其中许多API都很繁重,并且NPM上没有软件包。在Web应用程序上添加这些API的通常方法是将其添加到主HTML文件中,使用这种方法会大大影响页面加载时间。例如,如果是JavaScript文件,它将下载,编译并执行脚本。

如果我们可以避免在页面首次加载时加载这些API会怎样呢?这将有助于更快地加载页面内容,减少总体网络数据的使用,并降低低端设备的内存使用。

Loadx API

Loadx API将通过以下功能帮助我们异步加载资源:

  • 加载JS,CSS或图像
  • 缓存结果
  • ⏳️出色地实现了Promise和async/await
  • ️压缩后的ES3仅400字节

让我们使用此API创建一个示例:

  1. import loadx from 'loadx'; 
  2. async function getUser() {  // 加载Axios API 
  3.   await loadx.js('https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.min.js'); 
  4.   // 从Rest API获取用户 
  5.   return axios.get('/user/12345'); 
  6. }async function loadImage(url) {  // 图像容器 
  7.   const containerEl = document.querySelector('.container'); 
  8.   // loading spinner 
  9.   const spinnerEl = document.querySelector('.spinner'); 
  10.     if (containerEl === null || spinnerEl === null) { 
  11.     throw new Error('Image container not found') 
  12.   }    // show the spinner 
  13.   spinnerEl.style.diplay = 'block'
  14.   // 加载图像 
  15.   await loadx.img(url, containerEl); 
  16.   // hide the spinner 
  17.   spinnerEl.style.diplay = 'none'
  18. }function loadCSSFramework() {  // 简单加载Tailwind CSS 
  19.   loadx.css('https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css'); 

结束

现在,只有在需要时才可以加载资源。试一试吧!

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2022-11-01 16:20:56

Java图像文件图像文件类型

2009-03-18 10:55:50

2022-03-08 07:26:15

JPEGPNG图像编辑器

2017-03-02 11:58:31

NodeJS服务器

2011-03-29 13:45:55

HTMLCSSjavascript

2021-06-06 08:30:29

N-APIPromiseAPI

2022-02-20 09:40:01

Pegasus间谍软件

2023-01-10 14:11:26

2020-12-15 08:01:24

Promise参数ES6

2022-10-11 23:26:54

css3attr函数

2023-06-27 09:00:00

2013-02-01 10:14:14

Visual Stud

2009-08-28 10:22:13

Windows 7系统故障应对缩略图无法显示

2011-04-26 14:29:01

javascriptGA

2016-08-30 21:05:14

JavascriptCSSWeb

2023-04-18 15:18:10

2023-12-21 08:51:37

防抖节流Vue.js

2022-05-31 07:40:41

ArctypeFeather.jsSQLite

2023-02-17 08:22:05

AndroidGlide

2010-02-02 18:19:52

Linux mplay
点赞
收藏

51CTO技术栈公众号