Vue3前端100个必要的知识点

这篇具有很好参考价值的文章主要介绍了Vue3前端100个必要的知识点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么是必要的,就是这100个知识点学完后,能独立完成一个小项目。最终能得到一个解决方案。也算是前端知识的积累。如果后面有需要的地方可以回来查。100个其实比较多,我会按新手老鸟,大神来分成3个等级,话不多说,让我们开始吧。

 

 

目录

1、一些常用的依赖。 

2、创建一个Vue空项目

3、Vite设置@Src别名

4、设置run dev自动打开新页面。

5、安装sass版本的 reset.scss

6、全局组件top,bottom

7、处理一个经典的上中下布局

8、创建一个版本控制。

9、加装路由,设置切换路由会顶部

10、安装ElementUI,添加轮播图

11、安装Element-Icon图标。

12、深度选择器应用,制作搜索框

13、分页器和ElementUI国际化

14、Axios二次封装和跨域配置

15、使用这些知识做一个俄罗斯方块。


1、一些常用的依赖。 

  这些版本最好固定,无需更新。除非你想使用一些新的功能,需要升级。新手一般不用修改。

{
  "name": "project_demo",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite --open",
    "build": "vue-tsc && vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "@element-plus/icons-vue": "^2.1.0",
    "axios": "^1.4.0",
    "element-plus": "^2.3.5",
    "nprogress": "^0.2.0",
    "pinia": "2.0.36",
    "qrcode": "^1.5.3",
    "sass": "^1.62.1",
    "vue": "^3.2.47",
    "vue-router": "^4.2.1"
  },
  "devDependencies": {
    "@types/node": "^20.2.3",
    "@vitejs/plugin-vue": "^4.1.0",
    "typescript": "^5.0.2",
    "vite": "^4.3.2",
    "vue-tsc": "^1.4.2"
  }
}

2、创建一个Vue空项目

pnpm create vite
// 名字,vue, ts
pnpm install
pnpm run dev

Vue3前端100个必要的知识点,前端,vue.js,javascript

Vue3前端100个必要的知识点,前端,vue.js,javascript

打开浏览器,输入网址或点击允许的网址,看到下面的项目就建好了。

Vue3前端100个必要的知识点,前端,vue.js,javascript

3、Vite设置@Src别名

当修改@为根目录。会提示错误。这里需要安装types/node,和2处设置。

Vue3前端100个必要的知识点,前端,vue.js,javascript

pnpm i @types/node -D

vite.config
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { join } from 'path'
// https://vitejs.dev/config/
export default defineConfig({
    plugins: [vue()],
    //配置src目录别名
    resolve: {
        alias: {
            '@': join(__dirname, "src"),
        }
    }  
})


ts.config
  "compilerOptions": {
      ......

    // 让vscode认识@
    "baseUrl": ".",
    "paths": {
      "@/*":["src/*"]
    },
    ......

Vue3前端100个必要的知识点,前端,vue.js,javascript

Vue3前端100个必要的知识点,前端,vue.js,javascript

看错误提示消失了。@可以代表src了。

4、设置run dev自动打开新页面。

这个很简单只需在package里dev后面添加--open就可以

Vue3前端100个必要的知识点,前端,vue.js,javascript

5、安装sass版本的 reset.scss

记住一个网站npmjs.com,然后搜索reset.点击进去复制

Vue3前端100个必要的知识点,前端,vue.js,javascript

复制reset.scss到src/style/下。然后在main.ts里引入,方法是直接import,(去掉自动生成的全局css.)

Vue3前端100个必要的知识点,前端,vue.js,javascript

可以修改app.vue,查看下效果:当reset掉所有样式后,app就顶格到左上角。这个就是reset的效果。

Vue3前端100个必要的知识点,前端,vue.js,javascript

6、全局组件top,bottom

组件一般放在com里,先创建两个文件。

--@/components/hospital_bottom/index.vue
<template>
    <div>
bottom
    </div>
</template>


--@app.vue
<template>
  <div class="container">
    <HospitalTop />
    <div>正文</div>
    <HospitalBottom />
  </div>
</template>

<script setup lang="ts">
</script>

<style scoped lang="scss">
.container{
  background-color: black;
  height: 100px;
  color: #ffffff;
}
</style>

 

-- main.ts
import HospitalTop from "@/components/hospital_top/index.vue";
import HospitalBottom from "@/components/hospital_bottom/index.vue";


const app = createApp(App);

app.component('HospitalTop', HospitalTop);
app.component('HospitalBottom', HospitalBottom);

Vue3前端100个必要的知识点,前端,vue.js,javascript

app.component用来注册全局组件,这样在合适的地方就可以直接使用。

7、处理一个经典的上中下布局

<template>
    <div class="top">
        <div class="content">
            内容区域
        </div>
    </div>
</template>

<script setup lang="ts">

</script>

<style scoped lang="scss">
.top{
    width: 100%;
    height: 70px;
    background: #fff;

    .content{
        width: 1200px;
    }
}
</style>

Vue3前端100个必要的知识点,前端,vue.js,javascriptVue3前端100个必要的知识点,前端,vue.js,javascript

代码下载(选基础设置这个版本下载。下载后需要pnpm i 一下):syt: 商易通项目

8、创建一个版本控制。

如果是新开始的,可以直接clone一个仓库。

Vue3前端100个必要的知识点,前端,vue.js,javascript

Vue3前端100个必要的知识点,前端,vue.js,javascript

这里选commit+push。

9、加装路由,设置切换路由会顶部

Vue3前端100个必要的知识点,前端,vue.js,javascript

--@/router/index.ts
import { createRouter, createWebHashHistory } from "vue-router";

export default createRouter({
  //设置为history模式
  history: createWebHashHistory(),
  routes: [
    {
      path: "/home", //配置默认路由
      name: "home", //路由名
      component: () => import("@/pages/home/index.vue"), //引入该路由使用的组件
    },
    {
      path: "/", //配置默认路由
      redirect: "/home",
    },
    {
      path: "/error", //配置默认路由
      name: "error", //路由名
      component: () => import("@/pages/error/index.vue"), //引入该路由使用的组件
    },
  ],
  //切换路由后回到顶部
  scrollBehavior() {
    return { left: 0, top: 0 };
  },
});
--index.ts
import { createApp } from "vue";
import App from "@/App.vue";
import "@/style/reset.scss";
import router from "@/router/index.ts"; 

const app = createApp(App); 

app.use(router);
app.mount("#app");

当访问/的时候,会自动跳到/home。app.vue里要写个RouterView。

--app.vue
<template>
  <div class="container">
    <HospitalTop />
    <div class="content">
      <RouterView/>
    </div>
    <HospitalBottom />
  </div>
</template>

--home/index.vue
<template>
    <div>
        homes
    </div>
</template>

Vue3前端100个必要的知识点,前端,vue.js,javascript

10、安装ElementUI,添加轮播图

首先应该收藏 https://element-plus.gitee.io/zh-CN/guide/quickstart.html,

命令行运行安装依赖。

pnpm i element-plus

Vue3前端100个必要的知识点,前端,vue.js,javascript
在main.ts里添加引用。

​
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'   
app.use(ElementPlus)
 

测试是否安装好,我们放几个按钮看下。修改home/index.vue

<template>
    <div>
        homes
        <el-row class="mb-4">
            <el-button>Default</el-button>
            <el-button type="primary">Primary</el-button>
            <el-button type="success">Success</el-button>
            <el-button type="info">Info</el-button>
            <el-button type="warning">Warning</el-button>
            <el-button type="danger">Danger</el-button>
        </el-row>
    </div>
</template>

Vue3前端100个必要的知识点,前端,vue.js,javascript

Vue3前端100个必要的知识点,前端,vue.js,javascript

<template>
    <!-- 轮播图 -->
        <el-carousel class="carousel" height="350px" :interval="5000" arrow="always">
            <el-carousel-item v-for="item in 4" :key="item">
                <img src="../../assets/images/web-banner-1.png" alt="">
            </el-carousel-item>
        </el-carousel>
</template>

<style scoped>
.el-carousel__item h3 {
  color: #475669;
  opacity: 0.75;
  line-height: 300px;
  margin: 0;
  text-align: center;
}

.el-carousel__item:nth-child(2n) {
  background-color: #99a9bf;
}

.el-carousel__item:nth-child(2n + 1) {
  background-color: #d3dce6;
}

.carousel{
    img{
        width: 100%;
        height: 350px;
    }
}
</style>

Vue3前端100个必要的知识点,前端,vue.js,javascript

然后提交版本。Vue3前端100个必要的知识点,前端,vue.js,javascript

需要资源的可在这里下载(记得是下知识点-10的版本) syt: 商易通项目。syt: 商易通项目

Vue3前端100个必要的知识点,前端,vue.js,javascript

11、安装Element-Icon图标。

pnpm install @element-plus/icons-vue

Vue3前端100个必要的知识点,前端,vue.js,javascript

不推荐全局注册。还是在页面上按需注册好了。在home/index.vue里引用

import {Search,Edit,Plus} from "@element-plus/icons-vue"

          <p>用法1</p>
        <el-button :icon="Search" circle />
        <el-button type="primary" :icon="Edit" circle />
        <p>用法2</p> <el-icon>
            <Plus />
        </el-icon>
        <p>用法3</p>
        <Edit style="width: 1em; height: 1em; margin-right: 8px" />

Vue3前端100个必要的知识点,前端,vue.js,javascript

12、深度选择器应用,制作搜索框

在轮播图下面放置一个搜索框,如图。这里的需求是这个input框太短需要长一点。

        <!-- 轮播图 -->
        <el-carousel class="carousel" height="350px" :interval="5000" arrow="always">
            <el-carousel-item v-for="item in 4" :key="item">
                <img src="../../assets/images/web-banner-1.png" alt="">
            </el-carousel-item>
        </el-carousel>

        <div class="search">
            <el-autocomplete placeholder="请输入内容" />
            <el-button type="primary" size="default" :icon="Search">搜索</el-button>
        </div>

Vue3前端100个必要的知识点,前端,vue.js,javascript

接下来在调试器里尝试,修改宽度,是可以的。但页面上是没有这个el-input的。

Vue3前端100个必要的知识点,前端,vue.js,javascript


.search {
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0px;

    ::v-deep(.el-input){
        width: 600px;
        margin-right: 5px;
    }

}

Vue3前端100个必要的知识点,前端,vue.js,javascript

13、分页器和ElementUI国际化

Element Plus 组件 默认 使用英语,如果你希望使用其他语言,你可以修改main.ts里

import zhCn from "element-plus/dist/locale/zh-cn.mjs"; 
app.use(ElementPlus, { locale: zhCn });

--home/index.vue
  <el-pagination
      v-model:current-page="currentPage4"
      v-model:page-size="pageSize4"
      :page-sizes="[100, 200, 300, 400]"
      :small="small"
      :disabled="disabled"
      :background="background"
      layout="total, sizes, prev, pager, next, jumper"
      :total="400"
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
    />


import { ref } from 'vue' 
const currentPage4 = ref(4) 
const pageSize4 = ref(100)
const small = ref(false)
const background = ref(false)
const disabled = ref(false)

const handleSizeChange = (val: number) => {
  console.log(`${val} items per page`)
}
const handleCurrentChange = (val: number) => {
  console.log(`current page: ${val}`)
}

Vue3前端100个必要的知识点,前端,vue.js,javascript

Vue3前端100个必要的知识点,前端,vue.js,javascript

源码下载注意要下相应的版本:syt: 商易通项目 

14、Axios二次封装和跨域配置

pnpm i axios

Vue3前端100个必要的知识点,前端,vue.js,javascript

创建src/util/request.ts

//对于axios函数库进行二次封装?
//你工作的时候是否axios进行二次封装?二次封装的目的是什么那?
//目的:1,利用axios请求、响应拦截器功能
//目的2:请求拦截器,一般可以在请求头中携带公共的参数:token
//目的3:响应拦截器,可以简化服务器返回的数据,处理http网络错误
import axios from 'axios';
//引入用户相关的仓库
// import useUserStore from '@/store/modules/user';
//@ts-ignore
import { ElMessage } from 'element-plus';
//利用axios.create方法创建一个axios实例:可以设置基础路径、超时的时间的设置
const request = axios.create({
      baseURL: '/api',//请求的基础路径的设置
      timeout: 5000//超时的时间的设置,超出五秒请求就是失败的
});

//请求拦截器
request.interceptors.request.use((config) => {
      // //获取用户仓库
      // let userStore = useUserStore();
      // //token:公共参数,如果用户登录了需要携带
      // if (userStore.userInfo.token) {
      //       config.headers.token = userStore.userInfo.token;
      // }
      //config:请求拦截器回调注入的对象(配置对象),配置对象的身上最终要的一件事情headers属性
      //可以通过请求头携带公共参数-token
      return config;
});
//响应拦截器
request.interceptors.response.use((response) => {
      //响应拦截器成功的回调,一般会进行简化数据
      return response.data;
}, (error) => {
      //处理http网络错误
      let status = error.response.status;
      switch (status) {
            case 404:
                  //错误提示信息
                  ElMessage({
                        type: 'error',
                        message: '请求失败路径出现问题'
                  })
                  break;
            case 500 | 501 | 502 | 503 | 504 | 505:
                  ElMessage({
                        type: 'error',
                        message: '服务器挂了'
                  })
                  break;
            case 401:
                  ElMessage({
                        type: 'error',
                        message: '参数有误'
                  })
                  break;
      }
      return Promise.reject(new Error(error.message))
});
//务必对外暴露axios
export default request;


修改vite.config.ts,

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
//引入node提供内置模块path:可以获取绝对路径
import path from 'path';
export default defineConfig({
  plugins: [vue()],
  //src文件夹配置别名
  resolve: {
    alias: {
      "@": path.resolve(__dirname, 'src')
    }
  },
  //配置代理跨域
  server: {
    proxy: {
      '/api': {
        target: 'http://syt.yourdomain.cn',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, ''),
      },
    }
  }
})

设置好后,我们可以测试下是否能正常发出请求了。在app.vue里添加

<script setup lang="ts">
import request from "@/utils/request";
import { onMounted } from "vue";
onMounted(() => {
  request.get("/lottery/types?appCode=").then((res: any) => {
    console.log(res);
  })
})
</script>

Vue3前端100个必要的知识点,前端,vue.js,javascript

及时提交代码。有兴趣的可以下载这个版本。syt: 商易通项目

Vue3前端100个必要的知识点,前端,vue.js,javascript.

15、使用这些知识做一个俄罗斯方块。

首页做一个这样的简单页面。我们来实现一些逻辑功能。

Vue3前端100个必要的知识点,前端,vue.js,javascript

详细功能点这里。编写一个俄罗斯方块-CSDN博客文章来源地址https://www.toymoban.com/news/detail-737430.html

到了这里,关于Vue3前端100个必要的知识点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【vue3】基础知识点-setup语法糖

    学习vue3,都会从基础知识点学起。了解setup函数,ref,recative,watch、comptued、pinia等如何使用 今天说vue3组合式api,setup函数 在学习过程中一开始接触到的是这样的,定义数据且都要通过return返回 最新接触到的是这样的 两种不同的写法,那区别是什么呢? 其实在script标签上直

    2024年02月13日
    浏览(31)
  • Vue3知识点(尚硅谷张天禹)

    目录 Vue3基础知识 一、常用Composition API 1.初始setup setup函数的两种返回值: setup的两个注意点 2.ref函数 1.1.ref函数-处理基本数据类型 1.2.ref函数-处理对象类型  2.reactive函数 reactive对比ref 3.Vue3.0中的响应式原理 4.computed计算属性 5.watch监听 5.1watch监听ref属性 5.2watch监听reactive属性

    2024年02月19日
    浏览(29)
  • VUE3面试题及知识点,并且带答案!

    🐱 个人主页:SHOW科技,公众号:SHOW科技 🙋‍♂️ 作者简介:2020参加工作,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫优质专栏:前端主流技术分享 📢 资料领取:前端进阶资料可以找我免费领取 🔥 摸鱼学习交流:我们的宗旨是在「工作中摸鱼,摸鱼

    2024年02月07日
    浏览(32)
  • Vue.js知识点学习的一点笔记

    目录 一、虚拟DOM  二、MVVM 三、数据代理 四、事件修饰 五、键盘事件 六、插值语法{{}}、方法methods、计算属性computed 七、 监视、深度监视、另一种写法、简写 八、computed计算属性和watch侦听 九、什么时候用箭头函数 十、Vue侦听和watch侦听原理 十一、从Vue侦听原理得出,往对

    2024年02月11日
    浏览(33)
  • 【Vue前端】vue使用笔记0基础到高手第2篇:Vue进阶知识点介绍(附代码,已分享)

    本系列文章md笔记(已分享)主要讨论vue相关知识。Vue.js是前端三大新框架:Angular.js、React.js、Vue.js之一,Vue.js目前的使用和关注程度在三大框架中稍微胜出,并且它的热度还在递增。Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。Vue.js是一个构建

    2024年02月19日
    浏览(32)
  • 深度剖析 Vue.js 经典知识点之:SPA、SSR与MVVM

    更多精彩内容,请 微信搜索“ 前端爱好者 “ , 戳我 查看 。‘ 谈一谈你对 SPA 单⻚面的理解,它的优缺点分别是什么 SPA( single-page application )仅在 Web ⻚面初始化时加载相应的 HTML、JavaScript 和 CSS。 一旦⻚面加载完成,SPA 不会因为用户的操作而进行⻚面的重新加载或跳转

    2024年02月07日
    浏览(27)
  • Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(项目演示、涉及知识点、源码分享)

    1、前言 如果你对 vue3.x 的基础知识还很陌生,推荐先去学习一下 vue 基础 内容 参考链接 Vue2.x全家桶 Vue2.x全家桶参考链接 Vue3.x知识一览 Vue3.x重点知识参考链接 如果你 刚学完 vue3 , 想检查一下自己的学习成果 如果你 已学完 vue3 , 想快速回顾复习所学知识 如果你 已精通

    2024年01月18日
    浏览(31)
  • vue面试知识点

    Unsplash class 和 style 使用动态属性,使用驼峰式写法 v-if 和 v-show v-if 不渲染不满足判断条件的模块, v-show 渲染但不显示,使用场景:是否多次切换或频繁更新条件状态 keep-alive 缓存组件,使用场景:频繁切换,不需要重复渲染 v-for 中添加唯一的 key 为了高效的更新虚拟 DOM,

    2024年02月11日
    浏览(35)
  • vue知识点

    vue是什么 用于构建用户界面的渐进式开源JS框架,是创建单页应用的Web框架 核心特征: 数据驱动mvvm 组件化 指令系统 SPA与MPA SPA 单页应用: 动态重写当前页面数据用以用户交互 MPA: 多页应用,每一个页面都是主页面 SPA首加载慢: 原因:网络延时,资源体积太大 解决办法

    2024年02月11日
    浏览(30)
  • Vue入门——核心知识点

    Vue是一套用于 构建用户界面 的 渐进式 JS框架。 构建用户界面:就是将后端返回来的数据以不同的形式(例如:列表、按钮等)显示在界面上。 渐进式:就是可以按需加载各种库。简单的应用只需要一个核心库即可,复杂的应用可以按照需求引入各种Vue插件。 采用组件化模式

    2024年02月06日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包