前端项目,个人笔记(一)【Vue-cli - 定制化主题 + 路由设计】

目录

1、项目准备

1.1、项目初始化

1.2、elementPlus按需引入

注:使用cnpm安装elementplus及两个插件,会报错:vue+element-plus报错TypeError: Cannot read properties of null (reading 'isCE ') ,修改:

测试:

1.3、定制主题与配置scss导入

测试:

1.4、路由设计

1.4.1、一级路由设计

1.4.2、二级路由设计


1、项目准备

1.1、项目初始化

  • 创建项目,就不说了
  • 创建文件夹:
  • 静态资源准备:这个其实就是你的项目中的图片(放在assets文件夹)呀,样式文件(放在styles文件夹)呀~【公司里,照片都会有UI设计师提供给你;样式的话,主要是针对公共样式,你在写项目的时候,关于css这块,我就不多说了】

备注:我这里项目是安装了sass-loader的,命令:

cnpm install sass-loader -D
cnpm install node-sass -D

1.2、elementPlus按需引入

  • 安装elementPlus的自动导入插件
npm install element-plus --save
npm install -D unplugin-vue-components unplugin-auto-import
# 这里最好使用npm,否则可能会报错
  • 配置vue.config.js文件,没有则需要创建这个文件
// vue.config.js
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
module.exports = { outputDir: './build',// 和webpapck属性完全一致,最后会进行合并configureWebpack: {resolve: {alias: {components: '@/components'}},//配置webpack自动按需引入element-plus,plugins: [//按需引入element-plusAutoImport({resolvers: [ElementPlusResolver()]}),Components({resolvers: [ElementPlusResolver()]}),],},}

注:使用cnpm安装elementplus及两个插件,会报错:vue+element-plus报错TypeError: Cannot read properties of null (reading 'isCE ') ,修改:

        卸载重装,使用npm

测试:

在App.vue中:

<template><el-button type="primary">Primary</el-button>
</template>

成功:


1.3、定制主题与配置scss导入

        这里其实就是,修改原本的elementplus的一些样式,以及咱们项目中其他的一些样式设置:

步骤一: elementplus样式修改:在上面创建的styles文件夹中,创建一个element文件夹,在这创建一个index.scss文件,内容如下:

/* 只需要重写你需要的即可 */
@forward 'element-plus/theme-chalk/src/common/var.scss' with ($colors: ('primary': (// 主色'base': #dfb5b5,),'success': (// 成功色'base': #a21dc7,),'warning': (// 警告色'base': #b3ab98,),'danger': (// 危险色'base': #e26237,),'error': (// 错误色'base': #9ccf44,),)
);
@use "element-plus/theme-chalk/src/index.scss" as *;

  步骤二: 项目样式设置:在styles文件夹下,创建一个var.scss文件,内容如下:

:root {  --xtx-color: #27ba9b;  
}

步骤三: 最后这两个文件,都需要在main.js文件中,引入,如下:

import '@/styles/var.scss'; 
import '@/styles/element/index.scss'; 

测试:

App.vue内容如下:

<template><el-button type="primary">Primary</el-button><div>你好帅</div>
</template><style lang="scss" scoped>
div{color: var(--xtx-color);
}
</style>

成功:


1.4、路由设计

        路由设计原则:找页面的切换方式,如果是整体切换,则为一级路由,如果是在一级路由的内部进行的内容切换,则为二级路由

1.4.1、一级路由设计

步骤一:创建一级路由组件

Layout/index.vue:

<template><div>首页    </div>
</template>

Login/index.vue:

<template><div>登录页</div>
</template>

步骤二:修改路由

修改router/index.js:

import { createRouter, createWebHistory } from 'vue-router'
import Layout from '@/views/Layout/index.vue'
import Login from '@/views/Login/index.vue'const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{path:'/',component:Layout      },{path: '/login',component: Login}]
})export default router

步骤三:设置一级路由页面渲染入口

App.vue:

<template><el-button type="primary">Primary</el-button><div>你好帅</div><RouterView />
</template><style lang="scss" scoped>
div{color: var(--xtx-color);
}
</style>

1.4.2、二级路由设计

各个文件修改如下:

Home/index.vue:

<template>
<div>我是home
</div>
</template>

Category/index.vue:

<template><div>我是分类</div> 
</template>

重构router/index.js:

// createRouter:创建router实例对象
// createWebHistory:创建history模式的路由import { createRouter, createWebHistory } from 'vue-router'
import Login from '@/views/Login/index.vue'
import Layout from '@/views/Layout/index.vue'
import Home from '@/views/Home/index.vue'
import Category from '@/views/Category/index.vue'const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),// path和component对应关系的位置routes: [{path: '/',component: Layout,children: [{path: '',component: Home},{path: 'category',component: Category}]},{path: '/login',component: Login}]
})export default router

重构Layout/index.vue:

<template><div>我是首页<!--二级路由出口--><RouterView /></div>
</template>

效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542757.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机服务器中了360后缀勒索病毒怎么办,勒索病毒解密工具与流程

对于众多的企业来说&#xff0c;利用网络开展各项工作业务是必不可少的环节&#xff0c;网络为企业的生产运营提供了有利条件&#xff0c;但网络是一把双刃剑&#xff0c;在为人们提供便利的同时&#xff0c;也为企业的数据安全带来严重威胁。近期&#xff0c;云天数据恢复中心…

MySQL锁整理

MySQL锁信息来源 MySQL锁太多&#xff0c;内容太杂。写篇文章记录一下

PHP 线性搜索算法

线性搜索被定义为一种顺序搜索算法&#xff0c;从一端开始&#xff0c;遍历列表中的每个元素&#xff0c;直到找到所需的元素&#xff0c;否则搜索将继续&#xff0c;直到数据集的末尾。 线性搜索算法 线性搜索算法如何工作&#xff1f; 在线性搜索算法中&#xff1a; …

修复ElementUI中el-select与el-option无法通过v-model实现数据双向绑定的问题

1. 问题描述 需求&#xff1a;在使用ElementUI时&#xff0c;通过el-select和el-option标签实现下拉列表功能&#xff0c;当el-option中的选项被选中时&#xff0c;被选中的选项可以正确回显到已选择的列表中。 对于上面的下拉列表&#xff0c;当我们选中“超级管理员”的选项…

《科学之友》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答&#xff1a;问&#xff1a;《科学之友》是什么级别的期刊呢&#xff1f; 答&#xff1a;省级&#xff1b;主管单位&#xff1a;山西省科学技术协会&#xff1b;主办单位&#xff1a;山西科技新闻出版传媒集团有限责任公司 问&#xff1a;《科学之友》是正规期刊吗&a…

深度揭秘HW中的灰色技术(盗号,个人实时定位,远程监听)

xss漏洞&#xff1a;是数量最多的漏洞 cross-site scripting 跨站脚本攻击 1.反射型xss&#xff1a;代码存在于网址中&#xff0c;将存在恶意代码的链接发给用户&#xff0c;点击后才能攻击成功实施。 2.存储型xss&#xff1a;指Web应用程序会将用户输入的数据信息保持在服务…

网络管理基础

Linux网络管理 1.网络管理概念 网络接口和名称 &#xff1a;网卡 ip地址 网关 主机名称 路由2.管理工具 net-tools: #安装包 ifconfig netstat 准备要废掉了。iproute: #安装包 ip #提供ip命令3.认识网卡 lo网卡 :本地回环网卡&#xff0c;本机上的服务自己访问自…

C语言【典型算法编程题】总结

以下最全总结! 一,分支结构 1,if 编写程序,从键盘上输入三角形的三个边长(实数),判断这三个边能否构成三角形(构成三角形的条件为:任意两边之和大于第三边),如果能构成三角形,则计算三角形的面积并输出(保留2位小数);如果不能构成三角形,则输出“Flase”字符…

3.Windows下安装MongoDB和Compass教程

Windows下安装MongoDB 总体体验下来&#xff0c;&#xff0c;要比MySQL的安装简单了许多&#xff0c;没有过多的配置&#xff0c;直接就上手了&#xff01; 1、下载 进入官方的下载页面https://www.mongodb.com/try/download/community&#xff0c;如下选择&#xff0c;我选…

Hadoop学习1:概述、单体搭建、伪分布式搭建

文章目录 概述基础知识Hadoop组件构成Hadoop配置文件 环境准备配置Hadoop配置下载配置环境变量 Hadoop运行模式Standalone Operation&#xff08;本地&#xff09;官方DemoWordCount单词统计Demo Pseudo-Distributed Operation&#xff08;伪分布式模式&#xff09;配置修改启动…

江科大stm32学习笔记【6-2】——定时器定时中断定时器外部时钟

一.定时器定时中断 1.原理 2.硬件 3.程序 此时CK_PSC72M&#xff0c;定时1s&#xff0c;也就是定时频率为1Hz&#xff0c;所以可以PSC7200-1,ARR10000-1。 Timer.c: #include "stm32f10x.h" // Device headerextern uint16_t Num;//声明跨文件的…

【SQL Server】实验四 数据更新

1 实验目的 掌握SQL数据更新语句的基本使用方法&#xff0c;如UPDATE、DELETE、INSERT。掌握更新语句条件中的嵌套查询使用方法。 2 实验内容 2.1 掌握SQL更新语句的基本使用方法 INSERT基本语句。UPDATE基本语句。DELETE基本语句。 2.2 掌握SQL更新语句的高级使用方法 …