当前位置: 首页 > 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作为一种强大、安全的编程语言和平台的地…...

告别迷茫!在嵌入式Linux上用libwebsockets v4.0实现WebSocket客户端(含SSL配置避坑)

嵌入式Linux实战&#xff1a;libwebsockets v4.0客户端开发与SSL避坑指南 当树莓派的GPIO引脚需要与云端实时同步数据时&#xff0c;WebSocket往往是嵌入式开发者的首选协议。但面对内存仅512MB的ARMv7开发板&#xff0c;选用一个既支持SSL加密又能兼容C99标准的轻量级库&#…...

编程统计公司内部资料查阅使用数据,优化资料分类存储方式。提升职场员工工作查阅办事效率。

构建一个公司内部资料查阅使用统计与资料分类存储优化的商务智能示例项目&#xff0c;去营销化、中立化&#xff0c;仅用于学习与工程实践参考。一、实际应用场景描述在中大型企业中&#xff0c;内部资料&#xff08;制度、流程文档、技术手册、项目档案&#xff09;数量庞大&a…...

SyntaxUI:基于原子设计与Web组件的现代UI库开发实践

1. 项目概述&#xff1a;一个为开发者而生的现代UI组件库 如果你是一名前端开发者&#xff0c;或者正在构建一个需要用户界面的应用&#xff0c;那么你肯定经历过这样的场景&#xff1a;为了一个按钮的样式、一个表格的交互&#xff0c;或者一个模态框的动画&#xff0c;反复在…...

Godot游戏自动化构建与发布:基于GitHub Actions与Docker的CI/CD实践

1. 项目概述&#xff1a;当Godot遇上CI/CD如果你是一名独立游戏开发者&#xff0c;或者在一个小团队里负责Godot引擎的项目&#xff0c;那么“构建”和“部署”这两个词&#xff0c;大概率是你开发流程里最头疼的环节之一。手动导出项目到不同平台&#xff08;Windows、Linux、…...

基于GitHub Pages与Jekyll的静态博客搭建与深度定制指南

1. 项目概述&#xff1a;一个静态博客的诞生与演进如果你对搭建个人博客感兴趣&#xff0c;或者正在寻找一个轻量、高效、完全可控的线上空间&#xff0c;那么“RyansGhost/RyansGhost.github.io”这个项目仓库&#xff0c;很可能就是你一直在寻找的答案。这不仅仅是一个托管在…...

Biomni项目解析:大语言模型与生物医学知识图谱融合实践

1. 项目概述&#xff1a;当大语言模型遇见生物医学知识图谱最近在探索如何让大语言模型&#xff08;LLM&#xff09;在专业领域&#xff0c;特别是生物医学这种信息密集、关系复杂的领域&#xff0c;变得更“靠谱”一点。相信很多同行都遇到过类似的问题&#xff1a;直接问Chat…...

本地可控 AI 助手搭建|Windows 一键安装 OpenClaw 操作指南

OpenClaw&#xff08;小龙虾&#xff09;Windows 一键部署保姆级教程&#xff5c;10 分钟搭建专属数字员工 前言 2026 年备受关注的开源 AI 智能体 OpenClaw&#xff08;昵称小龙虾&#xff09;&#xff0c;在 GitHub 收获大量关注&#xff0c;凭借本地运行、零代码操作、自动…...

AI 能不能教孩子提问

AI 能不能教孩子提问 家长更该警惕的场景是&#xff1a;孩子一遇到卡点&#xff0c;就把题拍给 AI&#xff0c;等一个完整答案&#xff0c;然后连自己卡在哪里都说不出来。 这和用不用 AI 关系没那么简单。真正伤人的地方在于&#xff1a;孩子把困惑表达、假设尝试、错误修正这…...

ASPICE汽车软件开发标准:V模型、能力等级与核心过程实战解析

1. 项目概述&#xff1a;为什么我们需要ASPICE这张“汽车软件地图”如果你在汽车行业&#xff0c;尤其是涉及软件、电子电气或系统开发的岗位待过一阵子&#xff0c;大概率会频繁听到一个词&#xff1a;ASPICE。它可能出现在项目启动会上&#xff0c;出现在供应商审核清单里&am…...

在 1688、阿里国际站上,怎么分清哪些是真工厂、哪些是贸易商?一份采购辨别清单

跨境卖家和采购最常踩的坑&#xff0c;就是把贸易商当成了源头工厂。结果是&#xff1a;报价里多了一手差价、打样要等贸易商再转给后面的厂、出了质量问题没人能进车间整改。 平台上的"工厂认证"“源头工厂”"工厂直供"标签&#xff0c;看起来像是替你做了…...