• vue+echarts项目一:前端准备工作


    初始化 NPM VUE-CLI 之前的文章有提到过

    vue+element实现单选多选 答题的打分demo(从0-1全过程)_benlalagang的博客-CSDN博客_vue答题插件答题: vue+element答题demo 包含单选 多选 判断、打分页面https://blog.csdn.net/benlalagang/article/details/125927798这里我们选择不同的点

    起名字起成 vision

    vue create vision

    脚手架选择配置项

    Vuex、Router、Less预处理、 

    取消选择:

    ESE 测试  单元测试  ES-lint

    创建完成后显示的是基础欢迎页 把无关的代码删除 只留下最干净的页面

    app.vue

    1. <template>
    2. <div id="app">
    3. <router-view/>
    4. div>
    5. template>
    6. <style lang="less">
    7. style>

    router/index.js

    后期需要新增展示、引入import 对应的组件  在下方路由表注册即可

    1. import Vue from 'vue'
    2. import VueRouter from 'vue-router'
    3. const Screen = () => import('../Screen')
    4. Vue.use(VueRouter)
    5. const routes = [
    6. {
    7. path: '/',
    8. redirect:'/screen'
    9. },
    10. ]
    11. const router = new VueRouter({
    12. routes
    13. })
    14. export default router

    Vue中引入echarts

    这里我们在 public/index.html 外部引入 好处:项目上线时 减少体积  (为了稳定这里先用本地的  打包时再修改)

    
        
    
        
        

    main.js:

    // 全局挂载 echarts  任意组件就可以使用 this.$echarts
    Vue.prototype.$echarts = window.echarts

    直接使用npm 安装的话 后期为了节省体积 还是要进行外联

    安装指令: 

    npm install echarts --save

    main.js:

    import * as echarts from 'echarts';

     axios的安装

    npm install axios

    main.js:

    使用 node express 创建一个本机服务端口 2903

    // axios 的配置封装
    axios.defaults.baseURL = 'http://127.0.0.1:2903/api/'
    // 全局挂载 axios  任意组件就可以使用 this.$http
    Vue.prototype.$http = axios

    通用的全局样式 

    直接写在App.vue里了  原则就是将所有的容器的宽度和高度设置为占满父容器

    1. <template>
    2. <div id="app">
    3. <router-view/>
    4. div>
    5. template>
    6. <style lang="less">
    7. html,body,#app,.comP1,.comP2,.comP3{
    8. width: 100%;
    9. height: 100%;
    10. margin: 0;
    11. padding: 0;
    12. overflow: hidden;
    13. position: relative;
    14. }
    15. canvas{
    16. border-radius: 24px;
    17. }
    18. style>

    Vux中通用一个主题

    store/inedx.js

    1. import Vue from 'vue'
    2. import Vuex from 'vuex'
    3. Vue.use(Vuex)
    4. export default new Vuex.Store({
    5. state: {
    6. theme:'chalk'
    7. },
    8. getters: {
    9. },
    10. mutations: {
    11. changeTheme(state){
    12. if (state.theme === 'chalk'){
    13. state.theme = 'vintage'
    14. }else {
    15. state.theme = 'chalk'
    16. }
    17. }
    18. },
    19. actions: {
    20. },
    21. modules: {
    22. }
    23. })

    main.js:

    1. import Vue from 'vue'
    2. import App from './App.vue'
    3. import router from './router'
    4. import store from './store'
    5. import axios from "axios";
    6. // axios 的配置封装
    7. axios.defaults.baseURL = 'http://127.0.0.1:2903/api/'
    8. // 全局挂载 axios 任意组件就可以使用 this.$http
    9. Vue.prototype.$http = axios
    10. import './assets/font/iconfont.css'
    11. import * as echarts from 'echarts';
    12. // 全局挂载 echarts 任意组件就可以使用 this.$echarts
    13. Vue.prototype.$echarts = window.echarts
    14. Vue.config.productionTip = false
    15. new Vue({
    16. router,
    17. store,
    18. render: h => h(App)
    19. }).$mount('#app')

  • 相关阅读:
    vsftp部署匿名及本地登录的注意点
    Linux下SpringBoot项目部署(centos系统)
    pcba方案开发——蓝牙血氧仪方案设计
    YOLOv5的Tricks | 【Trick11】在线模型训练可视化工具wandb(Weights & Biases)
    哈希表题目:两数之和
    【Zabbix监控二】之zabbix自定义监控内容案例(自动发现、自动注册)
    python进阶1:魔术方法
    【Linux】死锁理解
    常见的网络攻击
    什么是微服务?
  • 原文地址:https://blog.csdn.net/benlalagang/article/details/126968437