从0到1写一个vue2项目,按需引入element-ui的引入,npm下载路由,配置路由,路由嵌套

从0到1写一个vue2项目,此篇内容有element-ui的按需引入,npm下载路由,配置路由,路由嵌套

项目是b站上找的项目链接在此https://www.bilibili.com/video/BV1QU4y1E7qo/?p=8&spm_id_from=pageDriver&vd_source=2c599bf1d75e3f9a5a4776409163e9a1跟着博主开始敲得,此次的笔记是[1~8]集,完全是记录自己的学习

文章目录

              一、如何快速建立一个vue2框架
          1.1、node和脚手架cli已经下载完成
          1.2、运行项目
              二、element-ui 按需引入
          2.1为什要按需引入?
          2.2按需引入和完全引入的区别
          2.3按需的引入步骤
              三、npm下载路由,配置路由
          3.1怎么下载路由?
          3.2怎么配置路由?
              四、路由嵌套
          4.1路由嵌套的实际作用
          4.2怎么实现路由嵌套?

              五、展望与学习

一、如何快速建立一个vue2框架
vue create vue2
//这是搭建vue2的指令 前提是下载了node

1.1 node和vue已经下载完成

这一篇我写的很清楚如何下载https://blog.csdn.net/apple_70049717/article/details/138220416?spm=1001.2014.3001.5501

1.2 运行项目

在这里插入图片描述

npm run serve
//就可以启动项目

二、element-ui 的安装和引入方式

https://element.eleme.cn/#/zh-CN/component/installation这是官网地址

1、npm的安装方式在这里插入图片描述
安装的话就npm i element-ui -s


2、cdn的安装方式
一般不推荐想用的话自己如下图引入下就可以
在这里插入图片描述

2.1为什要按需引入?

先说一下引入方式有完整引入按需引入两种,完整引入意思是直接将所有组件下载到你的脚手架里面,这样有个不好出就是你的项目打包之后相对于较大一点,当用户量较大的时候就会影响性能,按需引入的话就是使用什么组件,引入什么组件,打包之后就小一点,使用起来稍微麻烦一点,但是正常项目推荐使用按需引入。
官网介绍https://element.eleme.cn/#/zh-CN/component/quickstart

2.2按需引入和完全引入的区别?

按需引入需要的组件,以达到减小项目体积的目的,完全引入打包之后比按需引入大一点(三倍左右)

2.3按需的引入步骤?

这里没有使用官网的按需引入使用的是视频教学的按需引入

在这里插入图片描述
2.3.1、如上图在babel.config.js写上

module.exports = {presets: ['@vue/cli-plugin-babel/preset',["@babel/preset-env", { "modules": false }],],"plugins": [["component",{"libraryName": "element-ui","styleLibraryName": "theme-chalk"}]]
}

2.3.2、如果你只希望引入部分组件,比如 Button 和 Select,那么需要在 main.js 中写入以下内容

import Vue from 'vue';
import { Button, Select } from 'element-ui';
import App from './App.vue';Vue.use(Button)Vue.use(Select)new Vue({el: '#app',render: h => h(App)
});

2.3.3、最后需要使用什么组件写出来就行

  <el-button>默认按钮</el-button><el-button type="primary">主要按钮</el-button><el-button type="success">成功按钮</el-button><el-button type="info">信息按钮</el-button><el-button type="warning">警告按钮</el-button><el-button type="danger">危险按钮</el-button>

一、npm下载路由,配置路由

vue-router官网

vue2使用的路由是vue3,vue3使用的路由时vue4
在这里插入图片描述

点我红圈拿出来的就可以切换路由

3.1怎么下载路由?
npm install vue-router@3.6.5

其他下载方式不说了就说npm,上面指令就是下载了vue2相对应的路由。vue3对应的是大版v4的路由想下载就直接npm install vue-route就可以

3.1.1怎么查找大版本对应的最新版本?

1、打开npm官网 https://www.npmjs.com/
2、搜索vue-router
3、打开versions
在这里插入图片描述

解释下3、4就是大版本号,图里面3.6.5就是vue2对应的最新的路由,4.3.2也就是vue3对应最新的路由

3.2怎么配置路由?

3.2.1 新建一个router文件夹,新建个index.js

3.2.2引入vue-router

// 0. 如果使用模块化机制编程,导入Vue和VueRouter,要调用 Vue.use(VueRouter)
import Vue from 'vue'
import VueRouter from 'vue-router'Vue.use(VueRouter)// 1. 定义 (路由) 组件。
// 可以从其他文件 import 进来
import home from "@/view/home.vue";
import user from "@/view/user.vue";// 2. 定义路由
// 每个路由应该映射一个组件。 其中"component" 可以是
// 通过 Vue.extend() 创建的组件构造器,
// 或者,只是一个组件配置对象。
// 我们晚点再讨论嵌套路由。
const routes = [{ path: "/home", component: home },{ path: "/user", component: user },
]// 3. 创建 router 实例,然后传 `routes` 配置
// 你还可以传别的配置参数, 不过先这么简单着吧。
const router = new VueRouter({routes // (缩写) 相当于 routes: routes
})
并且导出export default router;//上面是在一个文件夹router里面
// 4. 创建和挂载根实例。在main.js里面
// 记得要通过 router 配置参数注入路由,
// 从而让整个应用都有路由功能
import router from "@/router"
const app = new Vue({router
}).$mount('#app')
//5、一定要一个出口文件,单路由出口就是显示当前那个页面,使用<router-view></router-view>
<router-view></router-view>显示路由

四、路由嵌套

路由嵌套是指在一个父路由组件内部定义和加载子路由组件的机制,这使得你可以在一个页面中根据不同的子路径显示不同的子组件。这样可以帮助你组织和管理具有层次结构的视图,使你的应用程序更加模块化和可维护。

想象你有一个网站,有以下页面:

首页
关于页下
用户页

  • 用户资料页(User Profile)
  • 用户订单页(User Orders)
    用户页页面中根据不同的子路径显示不同的子组件就可以路由嵌套

4.1路由嵌套的实际作用?

在这里插入图片描述

视频里面的意思是变的只有右边内容,而菜单栏和header不变化,总不能每次页面都都带左边菜单栏的上的页面所以就可以使用路由嵌套。

4.2怎么实现路由嵌套?

1、view文件夹建立一个main父级文件和两个子级文件
在这里插入图片描述
2、在router文件夹里面写

import Vue from "vue";
import VueRouter from "vue-router";Vue.use(VueRouter);
import home from "@/view/home.vue";
import user from "@/view/user.vue";
import main from "@/view/main.vue";
//children下面写子路由
const routes = [{path: "/",component: main,children: [{ path: "/home", component: home },{ path: "/user", component: user },],},
];
const router = new VueRouter({routes, // (缩写) 相当于 routes: routes
});
export default router;
//还要在main.vue父级文件写出口
<router-view></router-view>

在这里插入图片描述

当是/的时候就是main

在这里插入图片描述

当是home子组件的话也是显示main所以实现了路由嵌套

五、展望与学习

今年打算从0到1将v2,v3,react项目管理系统敲一遍,还有个大屏(敲了一半)并且three.js也看视频敲一个,并且做详细笔记,暂时是这些。大佬勿喷新手村选手,要是有一起的可以一起学习。

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

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

相关文章

Hive之聚合类开窗函数 + 滑动求和

为什么要写这样子一个主题文章呢&#xff0c;开窗函数毫无疑问&#xff0c;超级重要&#xff0c;但是很多人可能不会遇到一些稍微小众的业务需求&#xff0c;比如说滑动求和。这里带着业务&#xff0c;一并让大家熟悉一些&#xff0c;高阶函数的应用。 0&#xff0c;开窗函数和…

【JAVA SE】抽象类和接口

✨✨欢迎大家来到Celia的博客✨✨ &#x1f389;&#x1f389;创作不易&#xff0c;请点赞关注&#xff0c;多多支持哦&#x1f389;&#x1f389; 所属专栏&#xff1a;JAVA 个人主页&#xff1a;Celias blog~ 目录 引言 一、抽象类 1.1 抽象类的定义 1.2 抽象方法 1.3 抽象…

大厂边缘组VS小厂核心组,要怎么选?

有问必答 最近有粉丝提问&#xff1a;大厂边缘组VS小厂核心组&#xff0c;怎么选&#xff1f; 这确实是个好问题&#xff0c;读者老爷们可以先问下自己&#xff1a;如果有一份月薪2W在大厂边缘组打螺丝的Offer且不加班&#xff0c;另外还有一份月薪2W5&#xff0c;在小厂核心…

华为坤灵管理型交换机S300,S500,S310,S210,S220,S200 web端开局配置

一. 准备线缆 笔记本或没有COM口的电脑,需准备转接线,并安装好随线光盘的驱动,检查设备管理器中COM口是否正常 2.连接电脑与交换机的CONSOLE口 二&#xff0c;准备软件putty。 Download PuTTY: latest release (0.81) 配置步骤如下&#xff1a; 开启HTTP服务。设置https://1…

【conda】解决conda activate无效的问题

conda activate 虚拟环境名字执行上述命令失效&#xff0c;提示如下信息&#xff1a; 经查询&#xff0c;原因是新版的 conda 不再使用 activate 来激活虚拟环境&#xff0c;而是改用&#xff1a; source activate 虚拟环境名退出虚拟环境还是&#xff1a; conda deactivate…

sqlite基本操作

简介 文章目录 简介1.数据库的安装2.数据库命令&#xff1a;API&#xff0c;创建表单代码 csprintf&#xff08;&#xff09;getchar和scanf&#xff08;&#xff09; 1.数据库的安装 sudo dpkg -i *.deb这个报错表明出现依赖问题 用这个命令后再试试sudo apt --fix-broken in…

计算机组成原理----浮点数的表示和运算

目录 一.浮点数的表示 1.浮点数的作用和基本原理 2.浮点数的规格化 3.浮点数的表示范围 二.IEEE 754标准 三.浮点数的加减运算 1.加减运算 2.强制类型转换 一.浮点数的表示 1.浮点数的作用和基本原理 定点数在字节数固定的情况下&#xff0c;能表示的数字是很有限的&…

输入15个整数,计算并输出15个整数的和,并输出其中最大值和最小值;

输入15个整数&#xff0c;计算并输出15个整数的和&#xff0c;并输出其中最大值和最小值&#xff1b; #include<stdio.h> int main() {int i0,s0,max,min,jg0,jp0,og0,omax; int a[15]{12,13,14,16,17,18,19,10,1,2,3,4,5,6,7}; maxa[0],mina[0]; for(i0,s0;i<15;i) …

BIT 2024 编译原理 Lab. 4 四代编译器实验说明和要求

实验四&#xff1a;四代编译器实验 一、实验要求 详细实验要求请参考文件《Lab4实验说明和要求.pdf》。 二、实验思路 1、与 lab3 的对比 如果你在 lab3 就已经像我一样单独写了个函数处理表达式&#xff0c;那么理论上&#xff0c;lab4 相比于 lab3&#xff0c;不过就是多…

ComfyUi安装OOTDiffusion插件的diffusers版本问题

OOTDiffusion换装 在github上有近5K的star了&#xff08;https://github.com/levihsu/OOTDiffusion&#xff09;。 diffusers版本问题 最新版是0.27.2&#xff0c;不能低于0.25&#xff0c;但是OOT换装需要0.24&#xff0c;否则会报错&#xff1a; ComfyUI\custom_nodes\Comf…

系统架构设计师【第14章】: 云原生架构设计理论与实践 (核心总结)

文章目录 14.1 云原生架构产生背景14.2 云原生架构内涵14.2.1 云原生架构定义14.2.2 云原生架构原则14.2.3 主要架构模式14.2.4 典型的云原生架构反模式 14.3 云原生架构相关技术14.3.1 容器技术14.3.2 云原生微服务14.3.3 无服务器技术14.3.4 服务网格 14.4 云原生…

HTML+CSS 文本动画卡片

效果演示 实现了一个图片叠加文本动画效果的卡片&#xff08;Card&#xff09;布局。当鼠标悬停在卡片上时&#xff0c;卡片上的图片会变为半透明&#xff0c;同时显示隐藏在图片上的文本内容&#xff0c;并且文本内容有一个从左到右的渐显动画效果&#xff0c;伴随着一个白色渐…

YOLOV10训练自己的数据集

*************************************************** 码字不易&#xff0c;收藏之余&#xff0c;别忘了给我点个赞吧&#xff01; *************************************************** Start YOLOV10训练自己的数据集 官方论文&#xff1a;https://arxiv.org/abs/2405…

使用busybox快速创建rootfs系统(硬件:atk-dl6y2c)

目录 概述 1 编译busybox 1.1 配置Makefile 1.2 需改参数 1.3 配置busybox 1.4 编译busybox 2 完善 rootfs下文件 2.1 rootfs 的“/lib”目录添加库文件 2.2 rootfs 的“usr/lib”目录添加库文件 2.3 创建其他目录 3 完善其他文件 3.1 完善etc/init.d/rcS 3.2 完善…

Golang | Leetcode Golang题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; func longestConsecutive(nums []int) int {numSet : map[int]bool{}for _, num : range nums {numSet[num] true}longestStreak : 0for num : range numSet {if !numSet[num-1] {currentNum : numcurrentStreak : 1for numSet[currentNum…

【CMake】CMake入门(五)打包安装程序 使用CMake管理库 打包调试版和发行版

本篇文章不是新手入门教学文章&#xff0c;主要是记录笔者个人的学习笔记 CMake入门&#xff08;五&#xff09; 一、打包二、使用CMake管理库三、打包调试版和发行版 一、打包 发布程序可以有多种形式&#xff0c;比如安装包、压缩包、源文件等。CMake也提供了打包程序cpack可…

金钱的认知,你如何理解呢?

金钱的认知 建立在金钱之上的爱情是纯真的爱&#xff0c;朋友关系也才够纯粹&#xff0c;才是单纯的世界&#xff0c;反之没了钱的条件爱情和友情的美好关系极易破碎&#xff0c;也极易反目成仇。 心若美好钱就美好&#xff0c;心有欲望狰狞钱就是只咬人的老虎&#xff0c;钱…

Linux 僵尸进程和孤儿进程

一.Z(zombie)-僵尸进程 1.僵死状态&#xff08;Zombies&#xff09;是一个比较特殊的状态。当进程退出并且父进程&#xff08;使用wait()系统调用后&#xff09;没有读取到子进程退出的返回代码时就会产生僵死(尸)进程 2.僵死进程会以终止状态保持在进程表中&#xff0c;并且会…

Java17 --- SpringCloud之seate

目录 一、创建seata需要的mysql数据库表 二、修改seata的配置文件 三、启动nacos及seata 四、创建需要的数据库及表 一、创建seata需要的mysql数据库表 CREATE DATABASE seata;CREATE TABLE IF NOT EXISTS global_table(xid VARCHAR(128) NOT NULL,…

C++ | Leetcode C++题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; class Solution { public:int longestConsecutive(vector<int>& nums) {unordered_set<int> num_set;for (const int& num : nums) {num_set.insert(num);}int longestStreak 0;for (const int& num : num_set) {…