跨境互联网 跨境互联网
首页
  • AI 工具

    • 绘图提示词工具 (opens new window)
    • ChatGPT 指令 (opens new window)
  • ChatGPT

    • ChatGP T介绍
    • ChatGPT API 中文开发手册
    • ChatGPT 中文调教指南
    • ChatGPT 开源项目
  • Midjourney

    • Midjourney 文档
  • Stable Diffusion

    • Stable Diffusion 文档
  • 其他

    • AIGC 热门文章
    • 账号合租 (opens new window)
    • 有趣的网站
  • Vue

    • Vue3前置
  • JAVA基础

    • Stream
    • Git
    • Maven
    • 常用第三方类库
    • 性能调优工具
    • UML系统建模
    • 领域驱动设计
    • 敏捷开发
    • Java 测试
    • 代码规范及工具
    • Groovy 编程
  • 并发编程&多线程

    • 并发编程
    • 高性能队列 Disruptor
    • 多线程并发在电商系统下的应用
  • 其他

    • 面试题
  • 消息中间中间件

    • Kafka
    • RabbitMQ
    • RocketMQ
  • 任务调度

    • Quartz
    • XXL-Job
    • Elastic-Job
  • 源码解析

    • Mybatis 高级使用
    • Mybatis 源码剖析
    • Mybatis-Plus
    • Spring Data JPA
    • Spring 高级使用
    • Spring 源码剖析
    • SpringBoot 高级使用
    • SpringBoot 源码剖析
    • Jdk 解析
    • Tomcat 架构设计&源码剖析
    • Tomcat Web应用服务器
    • Zookeeper 高级
    • Netty
  • 微服务框架

    • 分布式原理
    • 分布式集群架构场景化解决方案
    • Dubbo 高级使用
    • Dubbo 核心源码剖析
    • Spring Cloud Gateway
    • Nacos 实战应用
    • Sentinel 实战应用
    • Seata 分布式事务
  • 数据结构和算法的深入应用
  • 存储

    • 图和Neo4j
    • MongoDB
    • TiDB
    • MySQL 优化
    • MySQL 平滑扩容实战
    • MySQL 海量数据存储与优化
    • Elasticsearch
  • 缓存

    • Redis
    • Aerospike
    • Guava Cache
    • Tair
  • 文件存储

    • 阿里云 OSS 云存储
    • FastDF 文件存储
  • 基础

    • Linux 使用
    • Nginx 使用与配置
    • OpenResty 使用
    • LVS+Keepalived 高可用部署
    • Jekins
  • 容器技术

    • Docker
    • K8S
    • K8S
  • 01.全链路(APM)
  • 02.电商终极搜索解决方案
  • 03.电商亿级数据库设计
  • 04.大屏实时计算
  • 05.分库分表的深入实战
  • 06.多维系统下单点登录
  • 07.多服务之间分布式事务
  • 08.业务幂等性技术架构体系
  • 09.高并发下的12306优化
  • 10.每秒100W请求的秒杀架构体系
  • 11.集中化日志管理平台的应用
  • 12.数据中台配置中心
  • 13.每天千万级订单的生成背后痛点及技术突破
  • 14.红包雨的架构设计及源码实现
  • 人工智能

    • Python 笔记
    • Python 工具库
    • 人工智能(AI) 笔记
    • 人工智能(AI) 项目笔记
  • 大数据

    • Flink流处理框架
  • 加密区

    • 机器学习(ML) (opens new window)
    • 深度学习(DL) (opens new window)
    • 自然语言处理(NLP) (opens new window)
AI 导航 (opens new window)

Revin

首页
  • AI 工具

    • 绘图提示词工具 (opens new window)
    • ChatGPT 指令 (opens new window)
  • ChatGPT

    • ChatGP T介绍
    • ChatGPT API 中文开发手册
    • ChatGPT 中文调教指南
    • ChatGPT 开源项目
  • Midjourney

    • Midjourney 文档
  • Stable Diffusion

    • Stable Diffusion 文档
  • 其他

    • AIGC 热门文章
    • 账号合租 (opens new window)
    • 有趣的网站
  • Vue

    • Vue3前置
  • JAVA基础

    • Stream
    • Git
    • Maven
    • 常用第三方类库
    • 性能调优工具
    • UML系统建模
    • 领域驱动设计
    • 敏捷开发
    • Java 测试
    • 代码规范及工具
    • Groovy 编程
  • 并发编程&多线程

    • 并发编程
    • 高性能队列 Disruptor
    • 多线程并发在电商系统下的应用
  • 其他

    • 面试题
  • 消息中间中间件

    • Kafka
    • RabbitMQ
    • RocketMQ
  • 任务调度

    • Quartz
    • XXL-Job
    • Elastic-Job
  • 源码解析

    • Mybatis 高级使用
    • Mybatis 源码剖析
    • Mybatis-Plus
    • Spring Data JPA
    • Spring 高级使用
    • Spring 源码剖析
    • SpringBoot 高级使用
    • SpringBoot 源码剖析
    • Jdk 解析
    • Tomcat 架构设计&源码剖析
    • Tomcat Web应用服务器
    • Zookeeper 高级
    • Netty
  • 微服务框架

    • 分布式原理
    • 分布式集群架构场景化解决方案
    • Dubbo 高级使用
    • Dubbo 核心源码剖析
    • Spring Cloud Gateway
    • Nacos 实战应用
    • Sentinel 实战应用
    • Seata 分布式事务
  • 数据结构和算法的深入应用
  • 存储

    • 图和Neo4j
    • MongoDB
    • TiDB
    • MySQL 优化
    • MySQL 平滑扩容实战
    • MySQL 海量数据存储与优化
    • Elasticsearch
  • 缓存

    • Redis
    • Aerospike
    • Guava Cache
    • Tair
  • 文件存储

    • 阿里云 OSS 云存储
    • FastDF 文件存储
  • 基础

    • Linux 使用
    • Nginx 使用与配置
    • OpenResty 使用
    • LVS+Keepalived 高可用部署
    • Jekins
  • 容器技术

    • Docker
    • K8S
    • K8S
  • 01.全链路(APM)
  • 02.电商终极搜索解决方案
  • 03.电商亿级数据库设计
  • 04.大屏实时计算
  • 05.分库分表的深入实战
  • 06.多维系统下单点登录
  • 07.多服务之间分布式事务
  • 08.业务幂等性技术架构体系
  • 09.高并发下的12306优化
  • 10.每秒100W请求的秒杀架构体系
  • 11.集中化日志管理平台的应用
  • 12.数据中台配置中心
  • 13.每天千万级订单的生成背后痛点及技术突破
  • 14.红包雨的架构设计及源码实现
  • 人工智能

    • Python 笔记
    • Python 工具库
    • 人工智能(AI) 笔记
    • 人工智能(AI) 项目笔记
  • 大数据

    • Flink流处理框架
  • 加密区

    • 机器学习(ML) (opens new window)
    • 深度学习(DL) (opens new window)
    • 自然语言处理(NLP) (opens new window)
AI 导航 (opens new window)
  • Nodejs

  • Vue

    • vue2基础

      • vue基本概念
        • 1 vue基本概念
          • 1.1 vue介绍
          • 1.1.1 渐进式的概念
          • 1.1.2 框架的概念
          • 1.1.3 vue是 MVVM 的框架
          • 1.2 开发vue的方式
        • 2 vue-cli的使用
          • 2.1 基本使用
          • 2.2 如何覆盖webpack配置
          • 2.3 目录分析与清理
          • 2.4 vue单文件组件的说明
        • 3 vue的插值表达式
          • 3.1 vue通过data提供数据
          • 3.2 通过插值表达式显示数据
        • 4 安装vue开发者工具
        • 5 vscode断点调试
        • 配置步骤 (两步)
        • 使用演示
      • vue指令
      • 计算属性与属性监听
      • 组件化开发
      • 生命周期+路由+组件缓存
      • vuex入门
    • vue3基础

    • TypeScript

    • tailwindcss
    • element-plus
    • Pinia
    • vue资料
  • NaiveUi
  • 前端
  • Vue
  • vue2基础
Revin
2023-09-17
目录

vue基本概念

# 1 vue基本概念

# 1.1 vue介绍

  • vue 中文网 (opens new window) 尤雨溪
  • Vue.js 是什么 (opens new window)
  • Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式javascript框架。

# 1.1.1 渐进式的概念

渐进式:逐渐增强,可以在项目中使用vue的一部分功能,也可以使用vue的全家桶来管理整个项目。

angular: 全家桶

image-20230917144135455

# 1.1.2 框架的概念

  • 我们所说的前端框架与库的区别? (opens new window)

Library

  • 代表:moment axios

  • 库,本质上是一些函数的集合。每次调用函数,实现一个特定的功能 工具箱

  • 使用库的时候,把库当成工具使用,需要自己控制代码的执行逻辑。

Framework

  • 代表:vue、angular、react、bootstrap

  • 框架,是一套完整的解决方案

  • 使用框架的时候,框架实现了大部分的功能,我们只需要按照框架的规则写代码

库和框架的区别

  • 使用库的时候,很自由,只要调用库提供的各种各样的方法就行,也可以不用其他的一些方法
  • 使用框架的时候,需要按照框架的规则写代码,限制会非常多,但同时框架的功能也很强大,可以极大的提升开发的效率。

# 1.1.3 vue是 MVVM 的框架

  • MVVM思想:一种软件架构模式,决定了写代码的方式。
    • M:model数据模型(ajax获取到的数据)
    • V:view视图(页面)
    • VM:ViewModel 视图模型
  • MVVM通过数据双向绑定让数据自动地双向同步 不在需要操作DOM
    • V(修改视图) -> M(数据自动同步)
    • M(修改数据) -> V(视图自动同步)

image-20230917144420736

1. 在vue中,不推荐直接手动操作DOM!!!

2. 在vue中,通过数据驱动视图,不要在想着怎么操作DOM,而是想着如何操作数据!!

image-20230917144436848

# 1.2 开发vue的方式

开发vue有两种方式

  • 传统开发模式:基于html/css/js文件开发vue
  • 工程化开发方式:在webpack环境中开发vue,这是最推荐的方式。
  • 现代化的项目也都是在webpack环境下进行开发的。

# 2 vue-cli的使用

vue-cli也叫vue脚手架,vue-cli是vue官方提供的一个全局命令工具,这个命令可以帮助我们快速的创建一个vue项目的基础架子。

  • 开箱即用
  • 零配置
  • webpack、babel

# 2.1 基本使用

  • 全局安装命令
npm install -g @vue/cli
# OR
yarn global add @vue/cli
1
2
3
  • 查看版本vue
vue --version
1
  • 初始化一个vue项目
vue create 项目名(不能用中文)
1
  • 启动项目
yarn serve
yarn build
1
2

# 2.2 如何覆盖webpack配置

注意:我们在项目无法找到webpack.config.js文件,因为vue把它隐藏。

如果需要覆盖webpack的配置,可以修改vue.config.js文件,覆盖webpack配置文件

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  // 配置端口号
  devServer: {
    port: 3000
  }
})
1
2
3
4
5
6
7
8

# 2.3 目录分析与清理

image-20230917144625015

  • public/index.html不用动,提供一个最基础的页面
  • src/main.js不用动, 渲染了App.vue组件
  • src/App.vue默认有很多的内容,可以全部删除
<template>
  <div>123</div>
</template>
1
2
3
  • assets文件夹与components直接删除

# 2.4 vue单文件组件的说明

一个.vue文件就是一个组件,后续开发vue,所有的功能都是基于组件实现。

安装插件

image-20230917144643153

一个单文件组件由三部分构成

  • template(必须) 影响组件渲染的结构 html
    • 只能有一个根元素
  • script 逻辑 js
  • style 样式 css less scss
    • style用于提供组件的样式,默认只能用css
    • 可以通过lang="less"开启less的功能,需要安装依赖包
yarn add less-loader@7.2.1 less -D
1

# 3 vue的插值表达式

# 3.1 vue通过data提供数据

vue中通过template可以提供模板,但是这样的数据是写死的。

vue可以通过data提供数据,注意:data必须是一个函数,并且返回一个对象

<script>
export default {
  data () {
    return {
      money: 100,
      msg: 'hello'
    }
  }    
}
</script>
1
2
3
4
5
6
7
8
9
10

# 3.2 通过插值表达式显示数据

插值表达式, 小胡子语法 mustach语法

  1. 作用: 使用 data 中的数据渲染视图(模板)

  2. 基本语法, 支持三元运算符

    {{ msg }}
    {{ obj.name }}
    {{ msg.toUpperCase() }}
    {{ obj.age > 18 ? '成年' : '未成年' }}
    
    1
    2
    3
    4
  3. vue中插值表达式的注意点

    (1) 使用的数据在 data 中要存在

    <h1>{{ gaga }}</h1>
    
    1

    (2) 能使用表达式, 但是不能使用 if for

    <h1>{{ if (obj.age > 18 ) { }   }}</h1>
    
    1

    (3) 不能在标签属性中使用

    <h1 id="box" class="box" title="{{ msg }}"></h1>
    
    1

# 4 安装vue开发者工具

  • 直接通过谷歌应用商店安装
  • 通过极简插件下载插件,本地安装。 https://chrome.zzzmh.cn/index

# 5 vscode断点调试

作为前端开发,我们经常会遇到代码错误,需要进行调试

常见的调试方案:

  • 不调试,直接看代码找问题
  • console.log 打印日志
  • 用 VSCode 的 debugger 来调试 (断点调试)

前两种,适合找一些简易的错误,如果短时间错误没有排查出来,建议使用 vscode断点调试。

image-20230917154619096

# 配置步骤 (两步)

  1. 新建 .vscode 目录, launch.json 文件, 填入配置内容

    注意:端口号 需要和 启动服务器 端口号 统一

{
  "configurations": [
    {
      "name": "Launch Chrome",
      "request": "launch",
      "type": "pwa-chrome",
      "url": "http://localhost:8080",
      "sourceMapPathOverrides": {
        "webpack://src/*": "${workspaceFolder}/src/*"
      }
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13

效果如下图:

image-20230917154632198

  1. vue.config.js 填入配置内容
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  // -----------------------------------------------------------
  configureWebpack: config => {
    // 配置断点调试,实际上线时,可删除
    config.output.devtoolModuleFilenameTemplate = info => {
      const resPath = info.resourcePath
      return `webpack://${resPath}`
    }
  }
  // -----------------------------------------------------------
})
1
2
3
4
5
6
7
8
9
10
11
12
13

效果如下:

image-20230917154653713

两个配置加完,重新启动服务器,就可以在vscode源代码中进行断点调试啦!

# 使用演示

  1. 代码行号前面,点击打上断点

image-20230917154702655

  1. 启动服务器

image-20230917154722296

  1. 开始调试

image-20230917154742455

  1. 效果预览

image-20230917154755413

  1. 左侧还有变量,监视,调用堆栈等,可以自行参考使用 (可选)
上次更新: 2025/04/03, 11:07:08
其他常用模块
vue指令

← 其他常用模块 vue指令→

最近更新
01
tailwindcss
03-26
02
PaddleSpeech
02-18
03
whisper
02-18
更多文章>
Theme by Vdoing | Copyright © 2019-2025 跨境互联网 | 豫ICP备14016603号-5 | 豫公网安备41090002410995号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式