成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Echarts 官宣更新:體積減少98%,UI特效更加好看

開發 前端
Apache ECharts 是一個功能豐富的圖表庫,但這也導致了較大的包體積。為了應對這一問題,開發者之前已經可以通過 TreeShaking 來按需加載代碼,有效減少了不必要的代碼量。

前言

大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心~

增強的 ESM 支持

為了增強開發者在 Node.js 環境和測試場景中使用 ECharts 的便利性,我們對 ESM(ECMAScript 模塊)的支持做了重要優化。

在舊版本中,ECharts 僅通過 npm 的 lib 目錄提供了 *.esm 文件格式,這雖然在打包工具(如 webpack)中運行良好,但在純 Node.js 環境或某些基于 Node.js 的測試框架(比如 vitest 和 jest)中卻不盡人意。

為此,我們引入了以下幾項改進:

  • 在 package.json 文件中,我們新增了 "type": "module",標識模塊類型為 ESM。
  • 我們還在 package.json 中定義了 "exports" 字段,以精確指定模塊導出路徑。
  • 在部分子目錄下,我們添加了僅含 "type": "commonjs" 的 package.json 文件,以支持 CommonJS 模塊類型。

這些調整使得像 echarts/core.js 這類文件能夠在各種環境下(包括純 Node.js、vitest、jest、create-react-app 等)以 ESM 的形式被正確解析。

我們還確保了這項新功能的兼容性,無論是在不同的運行時環境(Node.js、vitest、jest、create-react-app、服務器端渲染等)還是不同的打包工具(webpack、rollup、vite、esbuild 等)中都能順暢工。

我們對這項新功能寄予厚望,并相信它將大大提升開發者在使用過程中的體驗。

服務端渲染 + 客戶端輕量運行時

Apache ECharts 是一個功能豐富的圖表庫,但這也導致了較大的包體積。為了應對這一問題,開發者之前已經可以通過 TreeShaking 來按需加載代碼,有效減少了不必要的代碼量。從 5.3 版本開始,Apache ECharts 進一步支持了無需外部依賴的服務端 SVG 字符串渲染功能,允許圖表在服務器端渲染并支持初始動畫。這樣,通過服務端渲染的圖表可以用作頁面的首屏顯示,顯著降低首屏加載時間。

盡管服務端渲染是減輕包體積負擔的有效手段,但在需要客戶端交互時,還是必須加載 echarts.js 文件,這會增加額外的加載時間。對于對頁面加載速度有嚴格要求的應用場景,這可能不是最佳選擇。

在 5.5.0 版本中,ECharts 引入了一個新的客戶端輕量運行時,使得在不加載完整 ECharts 的情況下,也能支持基本的圖表交互。通過這種方式,我們可以先在服務器端渲染圖表,然后在客戶端僅通過加載不到 4KB 的輕量運行時(gzip 壓縮后約為 1KB)來實現圖表的初始動畫和一些常用的交互功能。這種改進極大地加快了頁面的加載速度,尤其改善了移動端的用戶體驗。

圖片圖片

例如,一個包含標題的餅圖,如果在客戶端只打包餅圖和標題組件,gzip 壓縮后的體積為 135KB;而采用服務端渲染加客戶端輕量運行時的方案,SVG 渲染結果和客戶端運行時的總體積 gzip 后僅為約 2KB,僅占前者體積的 1.5%。此外,這種方案還支持初始動畫、鼠標懸浮高亮和點擊事件等常見交互,滿足大多數交互需求。

要采用這種方案,服務器端的代碼保持不變,只需確保 ECharts 的版本號為 5.5.0 或更高。

圖片圖片

客戶端將得到的 SVG 字符串添加到容器中,并綁定輕量運行時:

圖片圖片

使用客戶端輕量運行時,必須搭配服務器端以 SVG 格式渲染的圖表,以實現以下交互功能:

  • 圖表的初始動畫:通過服務器端渲染的 SVG 中內嵌的 CSS 動畫來實現。
  • 元素的高亮顯示:同樣通過服務器端渲染的 SVG 內嵌的 CSS 動畫實現。
  • 動態更新數據:通過輕量運行時向服務器發送請求,讓服務器進行圖表的二次渲染以更新數據。
  • 點擊圖例以顯示或隱藏數據系列:此功能也是通過輕量運行時向服務器發送請求,進行圖表的二次渲染實現。

這套機制覆蓋了大多數交互場景的需求。對于更高級的交互需求,仍然需要在客戶端加載完整的 echarts.js 文件以訪問 ECharts 的全部功能。更多詳細信息請參考服務端渲染 ECharts 圖表的相關文檔。

數據下鉆支持過渡動畫

在 5.5.0 版本中,我們新增了 childGroupId 配置項,可以實現數據下鉆的過渡動畫功能。

在之前的版本中,我們已經支持使用 groupId,用以表示當前數據所屬的組別。而這次新增的 childGroupId 則可以用來表明當前數據本身的組別,與 groupId 配合使用后形成一個“父-子-孫”的關系鏈條。當用戶點擊圖表中的數據元素時,圖表會以過渡動畫的形式展示下鉆的數據。

開發者只需要指定 groupId 和 childGroupId,ECharts 就會自動處理層級關系,實現過渡動畫。

圖片圖片

餅圖支持扇區之間的間隔

通過設置餅圖扇區之間的間隔,可以讓餅圖的數據塊之間更加清晰,并且形成獨特的視覺效果。參見。

圖片圖片

餅圖和極坐標系支持結束角度

結束角度的配置項使得我們可以制作半圓形等不完整的餅圖。參見。

圖片圖片

極坐標系也同樣支持了結束角度,可以制作出更加豐富的極坐標圖表。

圖片圖片

坐標軸最大、最小標簽的對齊方式

在 5.5.0 版本中,我們新增了 axisLabel.alignMinLabel 和 axisLabel.alignMaxLabel 配置項,可以控制坐標軸最大、最小標簽的對齊方式。如果圖表繪圖區域比較大,不希望坐標軸標簽溢出,可以將最大、最小標簽分別對齊到右和左。

圖片圖片

新增兩種語言:阿拉伯語和荷蘭語

在 5.5.0 版本中,我們新增了阿拉伯語(AR)和荷蘭語(NL)兩種語言的支持。開發者可以通過 echarts.registerLocale 方法注冊新的語言包。

提示框支持指定容器

在之前的版本中,提示框(Tooltip)只能插入到圖表容器或者 document.body 中。現在,可以通過 tooltip.appendTo 指定容器,從而能更靈活地控制提示框的位置。

象形柱圖支持裁剪

象形柱圖可能存在超過繪圖區域的情況,如果希望避免這種情況,可以通過 series-pictorialBar.clip 配置項進行裁剪。

提示框 valueFormatter 增加 dataIndex 參數

valueFormatter 可以用來自定義提示框內容中數值的部分,現在新增了 dataIndex 參數,可以用來獲取當前數據的索引。

完整更新日志

鏈接:https://echarts.apache.org/zh/changelog.html#v5-5-0

責任編輯:武曉燕 來源: 前端之神
相關推薦

2023-08-02 10:51:15

PowerToys微軟

2021-06-29 05:20:30

Windows 11操作系統微軟

2021-06-29 09:25:30

Office微軟應用程序

2014-04-03 11:05:25

JavaScript圖表庫ECharts

2022-08-31 14:42:32

抖音包體積特效中臺

2020-12-25 14:55:13

VS Code代碼編程

2021-02-18 17:19:09

Windows 10Windows操作系統

2018-04-28 09:45:01

微軟Windows 10更新

2023-08-31 22:50:12

微軟開發

2021-09-27 15:20:38

微信iOS版移動應用

2022-03-19 16:38:05

VirtioFSmacOS 端Docker

2020-05-21 14:05:59

人工智能機器學習技術

2018-11-15 11:17:46

智慧城市

2011-05-18 20:02:55

蘋果Mac mini

2025-05-13 08:00:00

2021-05-28 13:44:02

華為MatePad Pro鴻蒙系統

2016-12-09 08:51:18

GoogleDevelopers網站

2022-04-08 08:11:44

自定義鉤子Vuejs

2024-01-18 15:17:56

谷歌云計算三星

2022-04-25 10:34:19

云原生直播
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品久久 | 国产精品欧美一区二区三区 | 中文字幕观看 | 久久久精品影院 | 国产一级淫片免费视频 | 亚洲 欧美 日韩 在线 | 最新国产视频 | 中文字幕在线免费观看 | 精品久久1 | 成人99| 最新av中文字幕 | 狠狠涩 | 日本精品一区二区三区视频 | 91久久| 久久91av| 国产成人av在线播放 | 色欧美综合 | 不卡一区二区三区四区 | 亚洲精品一区二区另类图片 | 日本一本在线 | 在线免费观看a级片 | 亚洲国产第一页 | 欧美综合国产精品久久丁香 | 天天操天天干天天透 | 天天射色综合 | 激情av在线 | 久久久久成人精品亚洲国产 | 黑人精品欧美一区二区蜜桃 | 亚洲综合无码一区二区 | 91久久精品一区二区三区 | 最新av片| 亚洲有码转帖 | 99国产精品99久久久久久 | 亚洲品质自拍视频 | 免费色网址 | 精品欧美一区二区精品久久 | 91精品国产777在线观看 | 久久新| 亚洲精品电影在线观看 | 国产精品伦一区二区三级视频 | 97国产精品视频 |