惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
H
Help Net Security
GbyAI
GbyAI
博客园_首页
G
Google Developers Blog
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
月光博客
月光博客
美团技术团队
B
Blog RSS Feed
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
博客园 - 叶小钗
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
宝玉的分享
宝玉的分享
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
云风的 BLOG
云风的 BLOG
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
P
Proofpoint News Feed

前端开发

前端设计的困惑 - V2EX 前端联调不用再求后端:我做了个 Chrome DevTools 网络拦截工具 SuperNetDev - V2EX 不知道有没有人想尝试一下没有 Tailwind CSS 的 shadcn 组件样式注册表 - V2EX SolidJS 2.0 RC 了,简直艺术品 - V2EX 万能的 AI,有什么实现高保真 UI 的途径吗? taro 还有人用吗? 是不是要黄了,官网证书到期了都没人管,而且物料市场都打不开了 Better Auth 也被 Vercel 收购了 “前端大神在大厂里写广告”是真的吗? V2EX › 登录 前端转 ai-agent 有什么好的课程么 angular21 好用吗? 全 AI 开发安卓 ios 双端行业内 BOSS 直聘 APP,求技术方案 前端如何学习 AI?我发现所有文章都是教你怎么写个 agent 或者讲 agent 实现原理什么的,就没有能在日常工作中 提效的吗?比如 skill 怎么搞。怎么在工作中使用各种技巧 3D 全域高清一张图制作,有没有懂行的高手会啊!需求放在下面了 开源了一个 Notion/飞书 风格的编辑器 大家用 uniappx 开发的时候,都选择什么 ui 框架呢 探索了一下 Agent Native 的 UI 应该怎么做,附带项目链接 开发抖音 pc 网页的 100%都是些草包。 Solid 作者重新審視 React 做對了的兩件事,以及將會在 Solid 2.0 採用 有大佬认识这是哪个图标库吗? 请教关于不发版动态更新 APP 的 LOGO 方案 Next.js 多语言路由性能优化:从 5.8s LCP 到极致体验 关于如何正确的在 React 或 Vue 中使用链接 逆向专题:对于 web 端采用 wasm+protobuf 的架构,还有逆向的可能性吗 AI 时代你们是怎么开发前端页面的? 有大佬在 qiankun 中结合联邦模块的吗 Tailwind CSS 在本周裁员 75% 原因是受 AI 冲击 有没有前端组件实现变量是个标签,其他字是黑色文字的组件库 1.5 小时用 ai 写了个 web 恐怖小游戏 30USD 月度开发预算,前端 er 都在用什么 AI 编程工具?
Vue ECharts 8.0 发布了
Justineo · 2025-09-29 · via 前端开发

距离 Vue ECharts 的上一次大版本发布已经一年多了,这一次借着 ECharts 6 正式发布的契机,我们也顺势发布了 Vue ECharts 的 8.0 版本。它不仅提供了新版本的 ECharts 的支持,同时也在功能、开发体验上加入了全新功能,并且对工程链路做了全面现代化重构。

官网:https://vue-echarts.dev

GitHub:https://github.com/ecomfe/vue-echarts

ECharts 6 支持

ECharts 6 带来了全新的主题、新的系列和布局机制,是官方近年来最重要的一次更新。我们为 Vue ECharts 适配了 ECharts 6 的新功能,并且将依赖的 ECharts 版本也更新为了 6.0.0 以上。想了解 ECharts 6 的具体特性,建议直接阅读官方的新版功能介绍,在此不再赘述。

停止支持 Vue 2

我们在支持 ECharts 6 的同时,选择同步放弃 Vue 2 支持。Vue 2 已经在 2023 年底到达终止支持时间,在 Vue ECharts 8.0 放弃 Vue 2 可以让我们移除对 vue-demi 的依赖、提供更一致的类型并且简化打包流程,从而提高库的稳定性和可维护性。如果你依然要在 Vue 2 项目中使用,请继续使用 Vue ECharts 7 。

tooltip 和 dataView 插槽支持

在 ECharts 中,自定义 tooltip 内容需要编写 formatter(params) 返回 HTML 字符串或 DOM 节点,自定义数据视图则要在 option.toolbox.feature.dataView.optionToContent(opt) 中做类似处理 。这一模式既不易复用,也难以与 Vue 的声明式渲染相结合。Vue ECharts 8.0 为这两个功能引入了插槽 API ,将这些回调映射为模板插槽。你可以在组件内写:

<VChart :option="option">
  <template #tooltip="p">
    <div class="tooltip">
      <span v-html="p.marker" />
      <strong>{{ p.seriesName }}</strong><br/>
      {{ formatDate(p.name) }}: {{ formatNumber(p.value) }}
      <HolidayBadge v-if="isHoliday(p.name)" />
    </div>
  </template>
  <template #dataView="opt">
    <table>
      <tbody>
        <tr v-for="(v, i) in opt.series?.[0]?.data ?? []" :key="i">
          <td>{{ opt.xAxis?.[0]?.data?.[i] ?? i }}</td>
          <td>{{ v }}</td>
        </tr>
      </tbody>
    </table>
  </template>
</VChart>

这样,你就可以直接在 Vue 模板中使用计算属性、条件渲染及组件组合,利用 Vue 的响应式更新同步管理原本依赖字符串拼接和手工操作 DOM 的内容。这是新版本对开发体验提升最明显的功能之一,欢迎大家升级体验。

利用新 API ,短短几行代码即可实现在 tooltip 中渲染嵌套图表

智能更新

除了插槽,我们还为数据更新设计了智能更新策略。默认情况下,当 option 改变时,Vue ECharts 会分析数据更新的差异,决定哪些对象需要合并、哪些需要替换,自动设置 replaceMerge;如果操作风险较大则采用 notMerge: true。若需要完全控制更新逻辑,仍可通过 update-options 或开启 manual-update 来进行手动控制。

删除 CSP 入口

此前我们提供了专用的 vue-echarts/csp 入口,以便在启用严格 CSP 时或者 SSR 环境下加载无内联样式的版本。我们在 8.0 移除了该入口,并提供了一个新的在运行时注入内联样式的方案,在绝大多数情况下都不再需要提供无样式版本并在应用中手动引入样式文件。仅当你同时启用严格的 CSP 且目标浏览器不支持 CSSStyleSheet() API 时,才需要手动引入 vue-echarts/style.css。这意味着绝大部分项目可以直接使用默认入口,不再需要为 CSP 维护额外配置。

工程化更新

Vue ECharts 至今已有九年历史。长时间积累的工程配置与依赖在现代前端环境下显得陈旧。本次版本更新中,我们重构了项目的工具链和相关配置,将构建、测试和发布流程全面现代化:

  • 升级到 ESLint flat config
  • 库本身从 Rollup 切换到使用 tsdown 构建
  • 从为了同时兼容 Vue 2/3 而手写的类型声明迁移到自动生成
  • 迁移到 npm trusted publishing
  • Demo 站点从 webpack + Vue CLI 迁移到 Vite ( rolldown-vite )
  • 接入了 Renovate ,自动更新依赖
  • 新增了基于 Vitest 的单元测试,并借助 Codex 和 Copilot 的 coding agent 实现了 100% 的分支覆盖率

这些改动主要集中在维护者和工具链层面,对 API 使用者影响有限,但意味着长期使用该库的项目可以在更现代的基础上继续前进。

新版官网

借助 AI 和 Vibe coding ,我们为 Vue ECharts 的官网进行了一次设计更新,希望大家能喜欢。主要改动如下:

  • 官网设计改版
  • 新增深色模式支持
  • 在 import 代码生成器中,使用 Monaco editor 代替之前的原生 <textarea> + esbuild-wasm + Highlight.js 的方案

项目主页

深色模式 + import 代码生成器

团队与维护

Last but not least ,在 8.0 设计、迭代、发布的过程中,我们迎来了新的团队成员 @kingyue737,可以说他主导了 8.0 版本大部分功能的实现,包括插槽 API 的实现、工具链的重构升级等等。有兴趣的话可以在 GitHub 上关注他:https://github.com/kingyue737

最后

欢迎大家尝试使用新版本,并且通过 GitHub issue 反馈问题和建议。