【Web开发】Node实现Web图表功能(ECharts.js,Vue3)
创始人
2025-05-30 00:56:53

在这里插入图片描述

🎈🎈🎈Python实现Web图表功能系列:🎈🎈🎈
1🎈【Web开发】Python实现Web图表功能(D-Tale入门)🎈
2🎈【Web开发】Python实现Web图表功能(D-Tale编译)🎈
3🎈【Web开发】Python实现Web图表功能(pyecharts,Flask)🎈
4🎈【Web开发】Python实现Web图表功能(ECharts.js,Flask)🎈
5🎈【Web开发】Node实现Web图表功能(ECharts.js,Vue)🎈
6🎈【Web开发】Node实现Web图表功能(ECharts.js,React)🎈
7🎈【Web开发】Python实现Web图表功能(Grafana入门)🎈

文章目录

  • 1、简介
  • 2、安装
    • 2.1 安装node
    • 2.2 安装echarts
    • 2.3 安装vue
      • 2.3.1 npm方式(Vite)
      • 2.3.2 npm方式(Vue CLI)
      • 2.3.3 CDN方式
      • 2.3.3 生命周期
  • 3、测试(vue)
    • 3.1 修改App.vue(hello world)
    • 3.2 修改App.vue(计数器)
    • 3.3 修改App.vue(按钮button)
    • 3.4 修改App.vue(列表li)
    • 3.5 修改App.vue(事件@click)
    • 3.6 修改App.vue(侦听器watch)
    • 3.7 修改App.vue(路由route,多组件)
    • 3.8 修改App.vue(状态管理,多组件)
  • 4、测试(vue+echarts)
    • 4.1 修改App.vue(折线图)
    • 4.2 修改App.vue(柱状图)
    • 4.3 修改App.vue(面积图,provide / inject)
    • 4.4 修改App.vue / main.js(饼状图,getCurrentInstance)
  • 结语

1、简介

官网地址:
https://echarts.apache.org/zh/index.html

Apache ECharts,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。

ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。

ECharts 遵循 Apache-2.0 开源协议,免费商用。

ECharts 兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)及兼容多种设备,可随时随地任性展示。
在这里插入图片描述

2、安装

2.1 安装node

https://nodejs.org/en/

在这里插入图片描述

2.2 安装echarts

https://echarts.apache.org/zh/download.html

从哪里获取 ECharts ?
获取 ECharts 的路径有以下几种,请根据您的情况进行选择:

  • 最直接的方法是在 ECharts 的官方网站中挑选适合您的版本进行下载,不同的打包下载应用于不同的开发者功能与体积的需求,或者您也可以直接下载完整版本;开发环境建议下载源代码版本,包含了常见的错误提示和警告。
  • 也可以在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库。
  • 或者通过 npm 获取 echarts,npm install echarts --save,详见“在 webpack 中使用 echarts”
  • 由 cdn 引入,你可以在 cdnjs,npmcdn 或者国内的 bootcdn 上找到 ECharts 的最新版本。
    在这里插入图片描述
    在这里插入图片描述
npm install echarts
# or
npm install echarts --save
# or
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install echarts --save

2.3 安装vue

https://cn.vuejs.org/

在这里插入图片描述

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

2.3.1 npm方式(Vite)

开发的前提条件:

  • 熟悉命令行
  • 已安装 16.0 或更高版本的 Node.js

新建vue工程,命令如下:

mkdir test_vue
cd test_vue# 要使用 Vite 来创建一个 Vue 项目,非常简单:
# 这个命令会安装和执行 create-vue,它是 Vue 提供的官方脚手架工具。
npm init vue@latest

在这里插入图片描述
在项目被创建后,通过以下步骤安装依赖并启动开发服务器:

# cd 
cd vue-project
npm install
npm run dev

命令行执行情况如下:
在这里插入图片描述
vue工程的文件夹情况如下:
在这里插入图片描述
浏览器访问上面命令行中的测试网址:

http://127.0.0.1:5173/

在这里插入图片描述
你现在应该已经运行起来了你的第一个 Vue 项目!请注意,生成的项目中的示例组件使用的是组合式 API 和

Vite(法语单词,“快” 的意思)是一种新型的前端构建工具
最初是配合 Vue3.0 一起使用的,后来适配了各种前端项目,目前提供了 Vue、React、Preact 框架模板。目前来说,Vue 使用的是 vue-cli 脚手架,React 一般使用 create-react-app 脚手架。
虽然脚手架工具不一样,但是内部的打包工具都是 Webpack。为什么要开发一个全新的构建工具,是 Webpack 不香了吗?

当你准备将应用发布到生产环境时,请运行:

npm run build

此命令会在 ./dist 文件夹中为你的应用创建一个生产环境的构建版本。

2.3.2 npm方式(Vue CLI)

https://cli.vuejs.org/zh/
Vue CLI 是官方提供的基于 Webpack 的 Vue 工具链,它现在处于维护模式。我们建议使用 Vite 开始新的项目,除非你依赖特定的 Webpack 的特性。在大多数情况下,Vite 将提供更优秀的开发体验。

  • 安装vue:
npm install -g @vue/cli
# OR
yarn global add @vue/cli
  • 创建一个项目:
vue create my-project
# OR
vue ui

CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令。它可以通过 vue create 快速搭建一个新项目,或者直接通过 vue serve 构建新想法的原型。你也可以通过 vue ui 通过一套图形化界面管理你的所有项目。

2.3.3 CDN方式

你可以借助 script 标签直接通过 CDN 来使用 Vue:


这里我们使用了 unpkg,但你也可以使用任何提供 npm 包服务的 CDN,例如 jsdelivr 或 cdnjs。当然,你也可以下载此文件并自行提供服务。

通过 CDN 使用 Vue 时,不涉及“构建步骤”。这使得设置更加简单,并且可以用于增强静态的 HTML 或与后端框架集成。但是,你将无法使用单文件组件 (SFC) 语法。

  • 使用全局构建版本
    该版本的所有顶层 API 都以属性的形式暴露在了全局的 Vue 对象上。这里有一个使用全局构建版本的例子:

Vue App
{{ message }}

在这里插入图片描述

  • 使用 ES 模块构建版本
    在本文档的其余部分我们使用的主要是 ES 模块语法。现代浏览器大多都已原生支持 ES 模块。因此我们可以像这样通过 CDN 以及原生 ES 模块使用 Vue:

Vue App
{{ message }}
  • 启用 Import maps
    我们可以使用导入映射表 (Import Maps) 来告诉浏览器如何定位到导入的 vue:

Vue App
{{ message }}

在这里插入图片描述

  • 拆分模块
    随着对这份指南的逐步深入,我们可能需要将代码分割成单独的 JavaScript 文件,以便更容易管理。例如:


// my-component.js
export default {data() {return { count: 0 }},template: `
爱看书的小沐今天看了几本书: {{ count }}
` }

如果直接在浏览器中打开了上面的 index.html,你会发现它抛出了一个错误,因为 ES 模块不能通过 file:// 协议工作。为了使其工作,你需要使用本地 HTTP 服务器通过 http:// 协议提供 index.html。
在这里插入图片描述
在这里插入图片描述

要启动一个本地的 HTTP 服务器,请先安装 Node.js,然后通过命令行在 HTML 文件所在文件夹下运行 npx serve。你也可以使用其他任何可以基于正确的 MIME 类型服务静态文件的 HTTP 服务器。

简单来说,npm 是一个 node 包管理器,npx 是一个 Node 包执行器。NPM 是 Node 包管理器。NPM 内置在 Node.js 中,通过命令行工具 CLI 来和线上 NPM 数据库进行交互,这个数据库被称为 NPM Register,
NPX 是一个 Node 包执行器,该 Node 包可以是本地也可以是远程的。允许开发者在无需安装的情况下执行任意 Node 包。执行本地 Node 包时,NPX 会到node_modules/.bin路径和环境变量 $PATH 里面,检查命令是否存在。
执行远程 Node 包时,NPX 会将 Node 包下载到一个临时目录中,使用以后再删除。

修改上面的index.html如下:


Vue App  

命令行执行如下:
在这里插入图片描述
浏览器访问如下:
在这里插入图片描述

2.3.3 生命周期

在这里插入图片描述

3、测试(vue)

3.1 修改App.vue(hello world)

App.vue:


执行命令如下:

npm run dev

在这里插入图片描述
浏览器访问如下:
在这里插入图片描述
另一个例子:


在这里插入图片描述

3.2 修改App.vue(计数器)

App.vue:


浏览器访问如下:
在这里插入图片描述

3.3 修改App.vue(按钮button)

App.vue:


浏览器访问如下:
在这里插入图片描述

3.4 修改App.vue(列表li)

App.vue:


浏览器访问如下:
在这里插入图片描述

3.5 修改App.vue(事件@click)

App.vue:


浏览器访问如下:
在这里插入图片描述

3.6 修改App.vue(侦听器watch)

App.vue:


浏览器访问如下:
在这里插入图片描述
在这里插入图片描述

3.7 修改App.vue(路由route,多组件)

App.vue:


Home.vue:


About.vue:


NotFound.vue:


浏览器访问如下:
在这里插入图片描述
工程文件组织如下:
在这里插入图片描述

3.8 修改App.vue(状态管理,多组件)

理论上来说,每一个 Vue 组件实例都已经在“管理”它自己的响应式状态了。
它是一个独立的单元,由以下几个部分组成:

  • 状态:驱动整个应用的数据源;
  • 视图:对状态的一种声明式映射;
  • 交互:状态根据用户在视图中的输入而作出相应变更的可能方式。
    在这里插入图片描述
    然而,当我们有多个组件共享一个共同的状态时,就没有这么简单了:
    多个视图可能都依赖于同一份状态。
    来自不同视图的交互也可能需要更改同一份状态。

App.vue:


ComponentA.vue:


ComponentB.vue:


store.js:

import { reactive } from 'vue'export const store = reactive({count: 0,increment() {this.count++}
})

在这里插入图片描述
在这里插入图片描述

4、测试(vue+echarts)

4.1 修改App.vue(折线图)

安装echarts库:

npm install echarts --save

在这里插入图片描述
不通过main.js,直接在App.vue中使用echarts的页面直接引入。
App.vue修改如下:



浏览器访问如下:
在这里插入图片描述

4.2 修改App.vue(柱状图)

安装echarts库:

npm install echarts --save

App.vue修改如下:


浏览器访问如下:
在这里插入图片描述

4.3 修改App.vue(面积图,provide / inject)

安装echarts库:

npm install echarts --save
npm install node-sass 
npm install sass --save-dev

App.vue修改如下:

 

InjectCom.vue:


浏览器访问如下:
在这里插入图片描述
在这里插入图片描述

4.4 修改App.vue / main.js(饼状图,getCurrentInstance)

vue3.0的写法,在组件中使用。
安装echarts库:

npm install echarts --save
# npm i -s echarts

main.js修改如下:

// import { createApp } from 'vue'
// import App from './App.vue'
// import './assets/main.css'
// createApp(App).mount('#app')import { createApp } from 'vue'
import App from './App.vue'// 引入 echarts
import * as echarts from 'echarts'
const app = createApp(App)// 全局挂载 echarts
app.config.globalProperties.$echarts = echartsapp.mount('#app')

App.vue修改如下:


浏览器访问如下:
在这里插入图片描述
全局挂载后,在组件中以 vue2 的写法。
App.vue修改如下:



在这里插入图片描述

直接在组件中引入echarts。
App.vue修改如下:


在这里插入图片描述


结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

上一篇:Win10配置Scala环境

下一篇:notepad 快捷键

相关内容

热门资讯

游戏“第一省”,坐不住了! 游... 文/冯玲玲游戏大省广东坐不住了。近日,广东发布《关于推动广东网络游戏产业高质量发展的若干政策措施》(...
并购重组预期加持!宜宾纸业股价... 本报(chinatimes.net.cn)记者何一华 李未来 北京报道宜宾纸业(600793.SH)...
德邦证券董事会大洗牌:梁雷任董... 新京报贝壳财经讯(记者胡萌)5月30日,德邦证券公示新一届董事会、监事会人员,公司新一任董事长由山东...
原创 成... 今年以来,成都的舞厅经历了比较长时间的整顿,多数舞厅在5月8日获准重新开门营业,到现在已经稳定运行了...
“小雨伞”母公司手回集团港股上... 5月30日,手回集团(2621.HK)在港交所上市。根据手回集团此前披露,此次IPO,手回集团发行2...
决策曲线拆解分析兼随机森林DC... 临床决策曲线(DCA)解析兼绘制随机森林的DCA曲线(R&...
异动快报:海格通信(00246... 证券之星5月30日盘中消息,13点45分海格通信(002465)触及涨停板。目前价格13.89,上涨...
商丘,三线城市!排名第29位! 第一财经·新一线城市研究所5月28日发布《2025新一线城市魅力排行榜》,在中国内地337座地级及以...
传统药企转型面临两难选择?放弃... 近日誉衡药业(002437.SZ)公告称,公司于2025年5月23日与兴和制药有限公司就佩玛贝特片签...
版权代理吃相太难看,连作者都觉... 一家可能都没授权资格的公司,居然也敢向自媒体发律师函讨要版权费。这事儿听起来是不是有点离谱了?最近,...
V观财报|*ST京蓝因涉嫌信披...   中新经纬5月30日电 30日晚,*ST京蓝公告,收到立案告知书。  公告显示,因涉嫌信息披露违法...
Java基础--日期API学习 一、前言         java标准库中,最早提供了两种处理日期和时间的类ÿ...
ES调试与优化工作笔记 本文主要涉及关于elastcisearch 关于内存,mapping,查...
两券商IT人员曝出老鼠仓,一位... 财联社5月30日讯(记者 高艳云)5月30日,安徽证监局与吉林证监局同日披露罚单,两名券商资深IT人...
Labubu太火了!英国人为抢... 最近在英国,有一样毛绒玩具红到了“出圈”,甚至让人忍不住怀疑:这到底是抢玩具,还是在打仗?这里,说的...
MySQL-分库分表方案 一、业务背景 随着业务量的增长,数据量会随之增长,单机情况下DB服务器会...
堆、堆排序 堆的基本操作操作:         1、插入一个数:          ...
广东1130亿饮料富豪,第二个... 来源 | 深蓝财经撰文 | 杨波近日,东鹏饮料赴港上市的消息持续引发关注。一个市值超1600亿,手握...
赵小中连任,长沙银行还有道“考... 文丨徐风5月21日,长沙银行在召开股东大会的同时完成了董事会的换届选举,赵小中当选第八届董事长,实现...
嘉应制药遭证监会立案调查,直指... 5月28日晚间,老牌药企广东嘉应制药股份有限公司(002198.SZ,下称“嘉应制药”)发布公告,公...
腾讯三大工具:ARC+智影+E... ARC实验室(网站) ARC官网-腾讯 (tencent.com)  ...
个人小站折腾后记 个人小站折腾后记 🏠个人主页:shark-Gao 🧑个...
华夏银行聘任龚伟华为首席信息官... 作者 | 林秋彤编辑 | 杨希新媒体编辑丨实习生 宋语菡5月30日,华夏银行发布公告称,吴永飞因到龄...
ST百利:收到湖南证监局《行政... 5月30日晚间,湖南百利工程科技股份有限公司(ST百利,603959.SH)公告,5月29日,公司收...
天元宠物重大资产重组,最大受益... “宠物代工龙头”天元宠物披露了收购案的最新进展。5月29日晚间,杭州天元宠物用品股份有限公司(下称“...
上手Servlet程序 目录 1、手动打包 1.1、创建项目 1.2、引入依赖 1.3、创建目录 1.4、编写代码 1.5、...
第一次认真周赛总结 T1:一个 整数的 二进制形式中 奇数位上bit==1 和 偶数 位上bit=...
1年进账270亿,深圳中药龙头... 最近,华润三九陷入了“悲喜交加”之中。喜的是,2024年华润三九的营收、净利润皆创新高,营收为276...
论文阅读:MPViT : Mu... 中文标题:基于多路视觉Transformer的密集预测 提出问题 创新点 提出了一种...
前安克创新创始人创业公司冲刺I... 近期,深圳智岩科技股份有限公司(以下简称“智岩科技”)正式启动上市辅导,辅导机构为中金公司。智岩科技...