自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

前言

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

增強的 ESM 支持

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

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

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

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

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

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

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

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

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

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

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

圖片圖片

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

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

圖片圖片

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

圖片圖片

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

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

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

數(shù)據(jù)下鉆支持過渡動畫

在 5.5.0 版本中,我們新增了 childGroupId 配置項,可以實現(xiàn)數(shù)據(jù)下鉆的過渡動畫功能。

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

開發(fā)者只需要指定 groupId 和 childGroupId,ECharts 就會自動處理層級關(guān)系,實現(xiàn)過渡動畫。

圖片圖片

餅圖支持扇區(qū)之間的間隔

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

圖片圖片

餅圖和極坐標系支持結(jié)束角度

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

圖片圖片

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

圖片圖片

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

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

圖片圖片

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

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

提示框支持指定容器

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

象形柱圖支持裁剪

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

提示框 valueFormatter 增加 dataIndex 參數(shù)

valueFormatter 可以用來自定義提示框內(nèi)容中數(shù)值的部分,現(xiàn)在新增了 dataIndex 參數(shù),可以用來獲取當前數(shù)據(jù)的索引。

完整更新日志

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

責任編輯:武曉燕 來源: 前端之神
相關(guān)推薦

2023-08-02 10:51:15

PowerToys微軟

2021-06-29 09:25:30

Office微軟應用程序

2021-06-29 05:20:30

Windows 11操作系統(tǒng)微軟

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操作系統(tǒng)

2018-04-28 09:45:01

微軟Windows 10更新

2023-08-31 22:50:12

微軟開發(fā)

2021-09-27 15:20:38

微信iOS版移動應用

2022-03-19 16:38:05

VirtioFSmacOS 端Docker

2020-05-21 14:05:59

人工智能機器學習技術(shù)

2018-11-15 11:17:46

智慧城市

2011-05-18 20:02:55

蘋果Mac mini

2021-05-28 13:44:02

華為MatePad Pro鴻蒙系統(tǒng)

2016-12-09 08:51:18

GoogleDevelopers網(wǎng)站

2022-04-08 08:11:44

自定義鉤子Vuejs

2024-01-18 15:17:56

谷歌云計算三星

2022-04-25 10:34:19

云原生直播
點贊
收藏

51CTO技術(shù)棧公眾號