热门标签 | 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如下:


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

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



推荐阅读
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • 深入解析 C++ 中的 String 和 Vector
    本文详细介绍了 C++ 编程语言中 String 和 Vector 的使用方法及特性,旨在帮助开发者更好地理解和应用这两个重要的容器。 ... [详细]
  • 使用Matlab创建动态GIF动画
    动态GIF图可以有效增强数据表达的直观性和吸引力。本文将详细介绍如何利用Matlab软件生成动态GIF图,涵盖基本代码实现与高级应用技巧。 ... [详细]
  • 在Android中实现黑客帝国风格的数字雨效果
    本文将详细介绍如何在Android平台上利用自定义View实现类似《黑客帝国》中的数字雨效果。通过实例代码,我们将探讨如何设置文字颜色、大小,以及如何控制数字下落的速度和间隔。 ... [详细]
  • 想把一组chara[4096]的数组拷贝到shortb[6][256]中,尝试过用循环移位的方式,还用中间变量shortc[2048]的方式。得出的结论:1.移位方式效率最低2. ... [详细]
  • Hanks博士是一位著名的生物技术专家,他的儿子Hankson对数学有着浓厚的兴趣。最近,Hankson遇到了一个有趣的数学问题,涉及求解特定条件下的正整数x,而不使用传统的辗转相除法。 ... [详细]
  • 深入解析C语言中的关键字及其分类
    本文将全面介绍C语言中的关键字,并按照功能将其分为数据类型关键字、控制结构关键字、存储类别关键字和其他关键字四大类,旨在帮助读者更好地理解和运用这些基本元素。C语言中共有32个关键字。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文详细探讨了在Java中如何将图像对象转换为文件和字节数组(Byte[])的技术。虽然网络上存在大量相关资料,但实际操作时仍需注意细节。本文通过使用JMSL 4.0库中的图表对象作为示例,提供了一种实用的方法。 ... [详细]
  • 处理Android EditText中数字输入与parseInt方法
    本文探讨了如何在Android应用中从EditText组件安全地获取并解析用户输入的数字,特别是用于设置端口号的情况。通过示例代码和异常处理策略,展示了有效的方法来避免因非法输入导致的应用崩溃。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
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社区 版权所有