热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

环境搭建:Vue3+Echarts5+vueeharts+移动端rem适配

对于数据可视化的最后一站,就是移动数据报表的展示,毕竟手机端的适普性,便携性,灵活性更高.包括我自己也是更多在移动端进行轻量办公.而用主流的商业BI平台在PC端的体验基本可打80分

对于数据可视化的最后一站, 就是移动数据报表的展示, 毕竟手机端的适普性, 便携性, 灵活性更高. 包括我自己也是更多在移动端进行轻量办公. 而用主流的商业BI平台在PC端的体验基本可打80分, 而在移动端就只能50分了, 最终还是要走向一些定制的, 个性化的标准开发.

假定后台数据接口都是基于ADS层的API, 前端展示用Vue来尝试一下, 这里先做一个基于Win下的环境搭建. 当然这里需要一些前端的基础知识, 对 vue3 和 echarts 有一定程度了解哈.

1. 安装 Node.js

https://nodejs.org/zh-cn/

跟下载普通软件没啥区别, "下一步" 一顿点击就安装好了, 然后【win+R】键,输入cmd, 按回车, 打开cmd窗口

C:\Users\Administrator>node -v
v16.14.2
C:\Users\Administrator>npm -v
8.5.0

则表示安装成功. 新版的Node.js已自带npm,安装Node.js时会一起安装,npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西.

2. 用 nrm 切换国内镜像源

这里以taobao镜像源为例, 个人感觉还是挺快的, 对于后期的各种npm下载.

npm install nrm -g
-- nrm ls
nrm use taobao

3. 安装 vue-cli 脚手架工具

-- a. 清理老版本脚手架
npm uninstall vue-cli -g
-- b. 安装脚手架, 这里以安装4.5.9的版本, 不指定则默认到最新
npm install @vue/cli@4.5.9
-- c. 将vue.cmd 添加环境变量哦
D:\Vue_Cli\node_modules\.bin

3. 创建并启动一个Vue3 项目

-- 任意目录下 创建一个Vue项目
vue create report_mobile
-- 选择自定义配置
Manually select features
-- 根据提示按需配置一通操作后开始生成
-- 搭建脚手架的时候配置 CSS 编译工具时选择选择 dart-sass ,选择后项目构建成功。
-- 耐心等待几分钟, 成功后, 进入项目, 启动服务
cd report_mobile
npm run server
浏览器:
http://localhost:8080/

如果能启动成功就说明咱的 Vue3 项目已经创建好了, 这里的配置理解起来需要点时间, 但能跑就行吧.

5. 全局CSS样式重置和设置rem单位

对全局和APP进行CSS样式重置, 当然通过 reset.css 也是可以的, 这个看需求.

npm install normalize.css --save



在 src 同级目录下, 新建一个 style 的文件夹, 在其下建一个 base.scss 的文件.

html {
font-size: 100px;
}
body {
font-size: .12rem;
}
.echarts {
width: 100%;
height: 100%;
}

即简单粗暴地"100px = 1rem" 这种 "px" 思维进行开发, 至少我是接受的, 转来转去反而麻烦.

6. 安装 echarts 和 vue-echarts 并进行全局配置

这个 vue-echarts 其实就是对 echarts 的一些简单封装, 可以让我们少些一些重复的配置, 它直接封装成了一个组件, 我们在引用的使用, 仅需通过属性将数据传到 option 即可, 其实没啥东西.

--Vue3 中安装echarts5 和 vue-echarts-v3:
npm install echarts vue-echarts --save

对项目的根目录下(与 APP.vue同级) 的 main.js 进行如下配置:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import * as echarts from 'echarts'
import VueEcharts from 'vue-echarts'
import 'normalize.css'
import './style/base.scss'
const app = createApp(App)
// 将echarts挂载到app的的原型链上, 让全局使用
app.config.globalProperties.$echarts = echarts
// 将vue-echarts 注册为全局组件, 可在任意.vue中使用
app.component('VChart', VueEcharts)
app.use(store).use(router).mount('#app')

7. 通过vue-echarts 配置图表在移动端测试

这里以 Home.vue 文件进行测试, 正好默认路由也是它嘛

// 官方默认的 Home 路由配置
const routes = [
{
path: '/',
name: 'Home',
component: Home
}
]
const router = createRouter({
history: createWebHashHistory(),
routes
})

直接以echarts官方入门案例进行 vue风格的编写如下: Home.vue 文件




电脑端, 手机端 同一个局域网下, 可以用手机浏览器访问这个长的地址:

App running at:
- Local: http://localhost:8081/
- Network: http://192.168.31.190:8081/

最后对不同设备宽度进行等比缩放适配, 在 public 下的 index.html 的head 中加入 js如下:


剩下就自己随心所欲地搭积木啦 ~~

耐心和恒心, 总会获得回报的.



推荐阅读
  • TypeScript ESLint: 避免使用隐式 any 类型,建议指定更具体的类型以提高代码可维护性
    在使用 Vue 引入 SVGSpriteLoader 时遇到了问题。具体表现为在 `shims-vue.d.ts` 文件中进行相关配置后,WebStorm 报错。为了解决这一问题,建议避免使用隐式 `any` 类型,而是指定更具体的类型,以提高代码的可维护性和类型安全性。可以通过在 ESLint 配置中禁用隐式 `any` 类型来实现这一目标。 ... [详细]
  • 题目链接: Caninepoetry问题概述:给定一个仅包含小写字母的字符串,允许将任意位置的字符修改为任意其他小写字母。目标是通过最少次数的修改,使字符串中所有长度大于1的子串均满足特定条件。本文详细分析了该问题,并运用思维与贪心算法,提出了一种高效解决方案。通过对字符串的深入解析,我们探讨了如何在最小化修改次数的同时,确保所有子串符合要求。 ... [详细]
  • 本文探讨了如何在C#应用程序中通过选择ComboBox项从MySQL数据库中检索数据值。具体介绍了在事件处理方法 `comboBox2_SelectedIndexChanged` 中可能出现的常见错误,并提供了详细的解决方案和优化建议,以确保数据能够正确且高效地从数据库中读取并显示在界面上。此外,还讨论了连接字符串的配置、SQL查询语句的编写以及异常处理的最佳实践,帮助开发者避免常见的陷阱并提高代码的健壮性。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 本文深入解析了Java面向对象编程的核心概念及其应用,重点探讨了面向对象的三大特性:封装、继承和多态。封装确保了数据的安全性和代码的可维护性;继承支持代码的重用和扩展;多态则增强了程序的灵活性和可扩展性。通过具体示例,文章详细阐述了这些特性在实际开发中的应用和优势。 ... [详细]
  • Objective-C 中的委托模式详解与应用 ... [详细]
  • 数据库多表联合查询:内连接与外连接详解
    在数据库的多表查询中,内连接和外连接是两种常用的技术手段。内连接用于检索多个表中相互匹配的记录,即只有当两个表中的记录满足特定的连接条件时,这些记录才会被包含在查询结果中。相比之下,外连接则不仅返回匹配的记录,还可以选择性地返回不匹配的记录,具体取决于左外连接、右外连接或全外连接的选择。本文将详细解析这两种连接方式的使用场景及其语法结构,帮助读者更好地理解和应用多表查询技术。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 提升Android开发效率:Clean Code的最佳实践与应用
    在Android开发中,提高代码质量和开发效率是至关重要的。本文介绍了如何通过Clean Code的最佳实践来优化Android应用的开发流程。以SQLite数据库操作为例,详细探讨了如何编写高效、可维护的SQL查询语句,并将其结果封装为Java对象。通过遵循这些最佳实践,开发者可以显著提升代码的可读性和可维护性,从而加快开发速度并减少错误。 ... [详细]
  • 史丰收快速计算法在蓝桥杯竞赛中的应用与解析摘要:史丰收速算法通过从高位开始计算并预判进位,摒弃了传统的九九乘法表,彻底革新了手工计算方式。该方法的核心在于其独特的计算逻辑和高效的进位处理机制,使得复杂计算变得简便快捷。本文详细探讨了史丰收速算法在蓝桥杯竞赛中的具体应用,并对其原理进行了深入解析,旨在为参赛选手提供一种高效、准确的计算工具。 ... [详细]
  • 在探讨 MySQL 正则表达式 REGEXP 的功能与应用之前,我们先通过一个小实验来对比 REGEXP 和 LIKE 的性能。通过具体的代码示例,我们将评估这两种查询方式的效率,以确定 REGEXP 是否值得深入研究。实验结果将为后续的详细解析提供基础。 ... [详细]
  • 单链表的高效遍历及性能优化策略
    本文探讨了单链表的高效遍历方法及其性能优化策略。在单链表的数据结构中,插入操作的时间复杂度为O(n),而遍历操作的时间复杂度为O(n^2)。通过在 `LinkList.h` 和 `main.cpp` 文件中对单链表进行封装,我们实现了创建和销毁功能的优化,提高了单链表的使用效率。此外,文章还介绍了几种常见的优化技术,如缓存节点指针和批量处理,以进一步提升遍历性能。 ... [详细]
  • 在洛谷 P1344 的坏牛奶追踪问题中,第一问要求计算最小割,而第二问则需要找到割边数量最少的最小割。通过为每条边附加一个单位权值,可以在求解最小割时优先选择边数较少的方案,从而同时解决两个问题。这种策略不仅简化了问题的求解过程,还确保了结果的最优性。 ... [详细]
  • 通过纯CSS技术,可以轻松创建精致的小圆点和三角形图形。本文详细介绍了如何利用CSS的伪元素、边框和背景属性,实现这些图形的高效绘制,并提供了多种应用场景和示例代码,帮助开发者在网页设计中增添更多视觉效果。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
author-avatar
塞上秋雪_838
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有