当前位置: 首页 > news >正文

Vue包的安装使用

文章目录

  • vue介绍
    • 一、灵活易用
      • 1.渐进式框架
      • 2.简洁的语法
    • 二、高效的响应式系统
      • 1.数据驱动
      • 2.响应式原理
    • 三、强大的组件化开发
      • 1.组件化思想
      • 2.组件通信
    • 四、丰富的生态系统
      • 1.插件和库
      • 2.社区支持
  • 安装依赖
  • 删除+新增文件夹
    • components设置
      • (1)home.vue
      • (2)data.vue
      • (3)zero.vue
  • router
  • 配置babel.config.js
  • main.js
  • 配置vite.config.js
  • axios
  • 配置api/manager.js

vue介绍

  Vue.js(通常简称 Vue)是一个用于构建用户界面的渐进式 JavaScript 框架。它具有以下显著特点和优势:

一、灵活易用

1.渐进式框架

  Vue 可以根据项目的需求逐步引入,你可以从简单的页面开始,逐步增加功能和复杂度,而不需要一次性采用整个框架。这使得 Vue 适用于各种规模的项目,从小型的静态页面到大型的企业级应用。

2.简洁的语法

  Vue 的模板语法简洁直观,易于学习和使用。它使用类似于 HTML 的模板语言,结合指令和表达式,可以方便地将数据绑定到页面上,并实现动态的交互效果。例如,使用v-bind指令可以动态绑定属性,v-ifv-for指令可以实现条件渲染和列表渲染。

二、高效的响应式系统

1.数据驱动

  Vue 采用数据驱动的开发模式,即视图是由数据自动渲染生成的。当数据发生变化时,Vue 会自动更新相关的视图,无需手动操作 DOM。这大大提高了开发效率,减少了出错的可能性。

2.响应式原理

  Vue 通过使用 ES5Object.defineProperty()方法或 ES6Proxy 对象来实现数据的响应式。当数据被访问或修改时,Vue 能够自动追踪依赖,并在数据变化时通知相关的组件进行更新。

三、强大的组件化开发

1.组件化思想

  Vue 鼓励使用组件化开发,将页面拆分成一个个独立的、可复用的组件。每个组件都有自己的模板、逻辑和样式,可以独立开发、测试和维护。这提高了代码的可维护性和可复用性,使得大型项目的开发更加高效。

2.组件通信

  Vue 提供了多种方式来实现组件之间的通信,包括父子组件之间的 props 传递、自定义事件的触发和监听、通过 Vuex 进行全局状态管理等。这些通信方式使得组件之间的交互更加灵活和方便。

四、丰富的生态系统

1.插件和库

  Vue 拥有庞大的生态系统,有许多优秀的插件和库可以扩展其功能。例如,Vue Router 用于实现路由管理,Vuex 用于状态管理,Element UI 和 Ant Design VueUI 框架提供了丰富的组件库,可以快速构建美观的用户界面。

2.社区支持

  Vue 拥有活跃的社区,开发者可以在社区中获取帮助、分享经验和学习最新的技术。社区还提供了大量的教程、文档和示例代码,方便开发者快速上手和解决问题。
  总之,Vue.js 以其灵活易用、高效的响应式系统、强大的组件化开发和丰富的生态系统,成为了前端开发中非常受欢迎的框架之一。无论是小型项目还是大型企业级应用,Vue 都能提供强大的支持,帮助开发者构建出高质量的用户界面。
  本章对于vue的语法不进行介绍,只介绍如何通过vue进行项目创建的前期工作。

安装依赖

npm init vue@latest(npm create vit@latest)npm install 
npm install vue-router -s
npm install axios -s
npm install pinia
npm install element-plus --save
npm install @element-plus/icons-vue
npm i -D vite-plugin-windicss windicss
npm install babel-plugin-component 
npm install mockjs
npm install vite-plugin-mock
npm i universal-cookie@^6
npm install @vueuse/integrations

删除+新增文件夹

删除src内的文件;
在src文件夹下新增components、stores、api、router文件夹;
新增axios.js:
在这里插入图片描述

components设置

(1)home.vue

<template><div><el-button type="primary">编辑</el-button><el-button type="primary">分享</el-button><el-button type="primary">设置</el-button><el-button type="primary">搜索</el-button><el-button type="primary">上传<el-icon class="el-icon--right"><Upload /></el-icon></el-button></div>
</template><script setup name="home"></script>

(2)data.vue

<template>信息页显示信息成功!
</template><script setup name="data"></script>

(3)zero.vue

<template><el-empty description="description" />
</template>
<script setup name="zero">
</script>

router

新增index.js:

import {createRouter,createWebHashHistory} from 'vue-router'
import home from '../components/home.vue'
import data from '../components/data.vue'
import zero from '../components/zero.vue'export default new createRouter({routes:[{path:'/home', name:'home',component:home,},{path:'/data', name:'data',component:data,},{path:'/zero', name:'zero',component:zero,}],history:createWebHashHistory(), 
})

配置babel.config.js

module.exports={presets:['@vue/cli-plugin-babel/preset'],'plugins':[['components',{'libraryName':'element-plus','styleLibraryName':'theme-chalk'}]]
}

main.js

import { createApp } from 'vue'
import {createPinia} from 'pinia'
import App from './App.vue'import 'element-plus/theme-chalk/index.css' 
import ElemntPlus from 'element-plus'
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
import 'virtual:windi.css'import axios from 'axios'
import router from './router'const app = createApp(App)
const pinia=createPinia()
app.use(pinia)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {app.component(key, component)
}
app.use(ElemntPlus)
app.config.globalProperties.$axios = axios
app.use(router)
app.mount('#app')App.vue
<template><RouterLink to='/home'><el-button type='primary' plain>主页</el-button></RouterLink><RouterLink to='/data'><el-button type='primary' plain>信息页</el-button></RouterLink><div><RouterView></RouterView></div>
</template><script setup name="App">import { RouterLink, RouterView } from "vue-router";
</script>

配置vite.config.js

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import { viteMockServe } from 'vite-plugin-mock';
import WindiCSS from 'vite-plugin-windicss'// https://vitejs.dev/config/
export default defineConfig({// 项目根目录root: './',// 插件配置plugins: [// Vue插件
vue(),
WindiCSS(),// Mock插件// ——>>>cnpm install mockjs、cnpm install vite-plugin-mockviteMockServe({mockPath: 'mock',injectCode: `import { setupMock } from './mock/mock';setupMock();`})],// 别名配置resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))}},// 服务器配置server:{//自动启动浏览器open:true, // 服务器端口号// ——>>>http://localhost:5173/ 改成http://localhost:3000/port: 3000,// 代理配置proxy: {'/api': {target: 'http://localhost:8080',changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, '')}}},// 构建配置// ——>>>npm run buildbuild: {// 输出目录outDir: 'dist',// 是否生成源代码映射文件sourcemap: true,// 是否启用压缩minify: true,// 是否将构建后的文件格式化terserOptions: {format: {comments: false}}},
})

axios

配置axios.js

import axios from 'axios'const service =axios.create({baseURL:'/api'
})export default service

修改vite.config.js
将target地址修改成请求的地址
在这里插入图片描述

配置api/manager.js

import axios from '@/axios'export function login(username,password){return axios.post('/admin/login',{username,password})
}

在这里插入图片描述

/admin/login是http://ceshi13deishait.cn后边的地址
http://ceshi13deishait.cn//admin/login

相关文章:

Vue包的安装使用

文章目录 vue介绍一、灵活易用1.渐进式框架2.简洁的语法 二、高效的响应式系统1.数据驱动2.响应式原理 三、强大的组件化开发1.组件化思想2.组件通信 四、丰富的生态系统1.插件和库2.社区支持 安装依赖删除新增文件夹components设置(1)home.vue(2)data.vue(3)zero.vue router配…...

大模型1-本地部署实现交互问答

任务 在本地部署大模型&#xff0c;调用大模型进行对话。 添加库&#xff1a; 1、Transformer Transformers 是由 Hugging Face 开发的一个开源库&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;任务。其主要功能是简化了对大型预训练语言模型的加载和使用…...

鸿蒙架构-系统架构师(七十八)

1信息加密是保证系统机密性的常用手段。使用哈希校验是保证数据完整性的常用方法。可用性保证合法用户对资源的正常访问&#xff0c;不会被不正当的拒绝。&#xff08;&#xff09;就是破坏系统的可用性。 A 跨站脚本攻击XSS B 拒绝服务攻击DoS C 跨站请求伪造攻击CSRF D 缓…...

大数据存储计算平台EasyMR:多集群统一管理助力企业高效运维

随着全球企业进入数字化转型的快车道&#xff0c;数据已成为企业运营、决策和增长的核心驱动力。为了处理海量数据&#xff0c;同时应对数据处理的复杂性和确保系统的高可用性&#xff0c;企业往往选择部署多个Hadoop集群&#xff0c;这样的策略可以将生产环境、测试环境和灾备…...

代理IP的类型及其在爬虫中的应用

1 动态住宅代理 这些IP地址来自真实的住宅用户&#xff0c;因此具有很高的匿名性和隐私性&#xff0c;不易被别为代理IP。而增加了爬虫任务的安全性。这类代理有以下特点&#xff1a; 高安全性&#xff1a;使用这类代理可发起真实有效的请求&#xff0c;提高爬虫效率的同时&am…...

鸿蒙Swiper动态加载翻页数据(等同于安卓动态加载viewPager)

我这里是加载一个实体类列表 类似 List 的数据&#xff0c;那么首先写一个dataSource&#xff1a; export class MyDataSource implements IDataSource {private list: MyBean[] []constructor(list: MyBean[]) {this.list list}totalCount(): number {return this.list.len…...

嵌入式面试——FreeRTOS篇(八) Tickless低功耗

本篇为&#xff1a;FreeRTOS Tickless 低功耗模式篇 一、低功耗模式简介 1、低功耗介绍 答&#xff1a; 很多应用场合对于功耗的要求很严格&#xff0c;比如可穿戴低功耗产品、物联网低功耗产品等&#xff1b;一般MCU都有相应的低功耗模式&#xff0c;裸机开发时可以使用MCU的…...

基于facefusion的换脸

FaceFusion是一个引人注目的开源项目&#xff0c;它专注于利用深度学习技术实现视频或图片中的面部替换。作为下一代换脸器和增强器&#xff0c;FaceFusion在人脸识别和合成技术方面取得了革命性的突破&#xff0c;为用户提供了前所未有的视觉体验。 安装 安装基础软件 安装…...

Hive数仓操作(十三)

一、JSON 数据 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;在不同的编程语言之间进行数据传输时非常通用和常用。JSON 格式简单直观&#xff0c;易于阅读和编写&#xff0c;并且可以被大多数编程语言轻松解析和生成。 1.…...

MyBatis XML映射文件

XML映射文件 XML映射文件的名称与Mapper接口名称一致&#xff0c;并且将XML映射文件和Mapper接口放置在相同包下&#xff08;同包同名&#xff09;XML映射文件的namespace属性为Mapper接口全限定名一致XML映射文件中SQL语句的id与Mapper接口中的方法名一致&#xff0c;并保持返…...

「PYTHON」配置支持cuda计算的torch环境

本教程用于配置可支持cuda加速计算的torch环境 如果单纯使用命令行的pip安装torch&#xff0c;几乎都是cpu版本的&#xff0c;所以想要下载支持cuda的torch&#xff0c;我们只能通过手动下载安装包到本地&#xff0c;再使用pip从下载好的本地文件离线安装 而要想使用cuda加速…...

Chromium 中chrome.history扩展接口c++实现

一、前端 chrome.history定义 使用 chrome.history API 与浏览器的已访问网页的记录进行交互。您可以在浏览器的历史记录中添加、移除和查询网址。如需使用您自己的版本替换历史记录页面&#xff0c;请参阅覆盖网页。 更多参考&#xff1a;chrome.history | API | Chrome…...

(Linux和数据库)1.Linux操作系统和常用命令

了解Linux操作系统介绍 除了办公和玩游戏之外不用Linux&#xff0c;其他地方都要使用Linux&#xff08;it相关&#xff09; iOS的本质是unix&#xff08;unix是付费版本的操作系统&#xff09; unix和Linux之间很相似 Linux文件系统和目录 bin目录--放工具使用的 操作Linux远程…...

Linux——echo-tail-重定向符

echo命令 类似printf 输出 反引号 重定向符 > 和 >> > 覆盖 >> 追加 tail命令 查看文件尾部内容&#xff0c;追踪文件最新更改 tail -num 从尾部往上读num行&#xff0c;默认10行 tail -f 持续跟踪...

GitHub Copilot 使用手册(一)--配置

一、 什么是GitHub Copilot GitHub Copilot 是GitHub和OpenAI合作开发的一个人工智能工具&#xff0c;在使用Visual Studio Code、Microsoft Visual Studio、Vim、Cursor或JetBrains等IDE时可以协助用户编写代码等工作&#xff0c;实现虚拟的结对编程。 二、 GitHub Copilot …...

【论文阅读】Cross Attention Network for Few-shot Classification

用于小样本分类的交叉注意力网络 引用&#xff1a;Hou, Ruibing, et al. “Cross attention network for few-shot classification.” Advances in neural information processing systems 32 (2019). 论文地址&#xff1a;下载地址 论文代码&#xff1a;https://github.com/bl…...

CV图像处理小工具——json文件转P格式mask

CV图像处理小工具——json文件转P格式mask import cv2 import json import numpy as np import osdef func(file_path: str) -> np.ndarray:try:with open(file_path, moder, encoding"utf-8") as f:configs json.load(f)# 检查JSON是否包含必要的字段if "…...

Typora 快捷键操作大全

Typora 是一款简洁的 Markdown 编辑器&#xff0c;它提供了一些快捷键来帮助用户更高效地编辑文档。以下是一些常用的 Typora 快捷键&#xff0c;这些快捷键可能会根据操作系统有所不同&#xff08;Windows 和 macOS&#xff09;&#xff1a; 常用格式化快捷键 加粗&#xff…...

<Project-8.1.1 pdf2tx-mm> Python 调用 ChatGPT API 翻译PDF内容 历程心得

原因 用ZhipuAI&#xff0c;测试用的PDF里&#xff0c;有国名西部省穆斯林&#xff0c;翻译结果返回 “系统检测到输入或生成内容可能包含不安全或敏感内容&#xff0c;请您避免输入易产生敏感内容的提 示语&#xff0c;感谢您的配合” 。想过先替换掉省名、民族名等&#xff…...

JDK1.1主要特性

JDK 1.1&#xff0c;也被称为Java Development Kit 1.1&#xff0c;是Java编程语言的第一个更新版本&#xff0c;由Sun Microsystems公司在1997年发布。JDK 1.1在JDK 1.0的基础上进行了许多重要的改进和扩展&#xff0c;进一步巩固了Java作为一种强大、安全的编程语言和平台的地…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...