您的位置:首页 > 科技 > 能源 > 江门网站建设自助建站_今日最新头条国际军事新闻_培训机构还能开吗_常见的线下推广渠道有哪些

江门网站建设自助建站_今日最新头条国际军事新闻_培训机构还能开吗_常见的线下推广渠道有哪些

2024/12/23 4:09:32 来源:https://blog.csdn.net/qq_17523181/article/details/143305888  浏览:    关键词:江门网站建设自助建站_今日最新头条国际军事新闻_培训机构还能开吗_常见的线下推广渠道有哪些
江门网站建设自助建站_今日最新头条国际军事新闻_培训机构还能开吗_常见的线下推广渠道有哪些

后台地址:https://www.creative-tim.com/product/muse-vue-ant-design-dashboard?ref=antdv-official

一、配置 Vite+AntDesginVue

  • 配置Vite+AntDesginVue

Vite+AntDesginVue配置:https://blog.csdn.net/qq_17523181/article/details/143241626

  • 安装vue-router
cnpm i vue-router

二、安装muse-vue-ant-design

  • 下载后台
  • cnpm i,安装依赖
  • 运行查看
    在这里插入图片描述
  • 现在看到 muse-vue-ant-design没有使用vite,也没有使用vue3

三、安装less

  • 原版使用sass,现在我们改用less
cnpm i less
  • vite.config.js里配置,为less设置支持js语法和字符集默认设置
    在这里插入图片描述
  • 制作一个less测试:定义一个样式,定义一个变量,定义一个循环
  • src/less/test.less
    在这里插入图片描述
  • 在main.js里加入
import '@/less/test.less'
  • 在App.vue里简单测下less
    可以看到body的标签起到了作用
    若要使用变量,则需要把less文件引入
    在这里插入图片描述
    写一个bg-primary的class,可以看到样式已经有
    在这里插入图片描述

四、移植Muse-Ant-Desgin-Vue程序到Vite框架

  • 拷贝文件
    在这里插入图片描述

  • 建立一个less文件夹,用于移植scss的内容
    建立一个app.less与base/_variables.less
    app.less下先import一个less
    @import “@/less/base/_variables” ;
    _variables.less文件里,把$替换成@

  • main.js里改为

import { createApp } from 'vue';
// 全局样式
import '@/less/app.less'
// app实例
import App from './App.vue';
const app = createApp(App);
// 路由注册
import router from './router'
app.use(router)
// ant-design-vue注册
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/reset.css';
app.use(Antd)
// 全局组件注册
import DashboardLayout from './layouts/Dashboard.vue';
app.component("layout-dashboard", DashboardLayout)app.mount('#app')
  • 在App.vue里
<template><div id="app"><component :is="layout"><router-view /></component></div>
</template><script setup>
import {computed} from "vue";
import {useRoute} from 'vue-router'
const route = useRoute();
const layout = computed(()=>{return "layout-" + ( route.meta.layout || "default" ).toLowerCase() ;
})</script>

五、Muse的框架

  • App.vue中,通过component动态组件来实现外部layout结构的切换
    这里的router-view只是示意,没有作用,真正的router-view是写在layout组件中的
<component :is="layout"><router-view />
</component>
  • 原版使用动态组件component,来确定框架的vue代码,组件在main.js里注册
    在这里插入图片描述
  • 根据路由不同,选择layout组件
    在这里插入图片描述

六、Router与入口调试

  • router/index.js 修改为vue3的语法,先定义/ 的默认入口,/dashboard 的首页vue
    routes原来定义了layout的参数,用于选择使用什么layout框架;
    vue3需要定义在meta里面
    在这里插入图片描述

  • router加入main.js
    在这里插入图片描述

  • 修改App.vue,实现原来的逻辑
    在这里插入图片描述

  • 把Dashbroad.vue里的组件、js代码全部注释,在html某处写入111,用于测试

  • 把layouts/Dashboard.vue,也同样注释,写入222,用于测试

  • 在main.js里注册layout
    在这里插入图片描述

  • 运行测试,发现2个vue文件都已经加载


七、修改全部sass,变为less

  • 基于之前的结构,一个个改过来,并加入less,改一个,测试一个
  • _utilities.less:
    循环与extend的写法
each(range(0,10), {@j: @value * 5;.mt-@{j} {margin-top: 1px * @j !important;}.mb-@{j} {margin-bottom: 1px * @j !important;}.ml-@{j} {margin-left: 1px * @j !important;}.mr-@{j} {margin-right: 1px * @j !important;}.my-@{j} {&:extend(mt-@{j});&:extend(.mb-@{j});}.mx-@{j} {&:extend(.ml-@{j});&:extend(.mr-@{j});}.m-@{j} {&:extend(.my-@{j});&:extend(.mx-@{j});}
});

遇到数字开头的数组,改成

@shadows: {s0: @shadow-0;s1: @shadow-1;s2: @shadow-2;s3: @shadow-3;
};each(@shadows, {.shadow-@{index} {box-shadow: @value !important;}
})

八、修改vue2,变为vue3

  • 注意一:script 后面要加setup,不然会提示defineProps错误啥的
  • 注意二:import组件的时候,需要加上.vue的文件后缀
  • 注意三:一个模块一个模块进行改动,测试,才能清楚哪里没改对
  • 注意四:route的meta使用
import {useRoute} from 'vue-router'
const route = useRoute();
  • 注意五:props的变量,需要在template里的加入props;script里一些this.变量也需要改为props.
let props = defineProps({data: {type: Object,},height: {type: Number,},
})
  • 注意六:在vite.config.js里设置下base目录与publicDir目录
    在这里插入图片描述
  • 注意七:图片的src,可以需要在前面加上/号

九、最后

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com