【玩转全栈】--创建一个自己的vue项目
目录
vue介绍
创建vue项目
vue页面介绍
element-plus组件库
启动项目
vue介绍
Vue.js 是一款轻量级、易于上手的前端 JavaScript 框架,旨在简化用户界面的开发。它采用了响应式数据绑定和组件化的设计理念,使得开发者可以通过声明式的方式轻松管理数据和界面之间的关系。Vue 提供了灵活的指令系统、生命周期钩子和计算属性等功能,能够帮助开发者高效地构建交互式应用。通过组件化的结构,Vue 可以将大型应用拆分成多个小模块,增强了代码的可维护性和重用性。此外,Vue 还具有非常强大的生态系统,支持状态管理(Vuex)、路由(Vue Router)以及各种插件,能够满足复杂应用的需求。Vue 的学习曲线较为平缓,适合初学者,也能满足高级开发者对灵活性的需求。通过使用 Vue,开发者可以快速构建现代化、响应迅速的 web 应用。
创建vue项目
首先需要有node环境,要配置也很简单,在官网一步一步下载即可:
下载 | Node.js 中文网
下载后可以在控制台检查是否安装成功,输入node,出现版本号则说明安装成功:

创建项目这里基于vue-vite:
首先,在你需要创建vue项目的文件夹中打开终端,输入:
npm create vue@latest
vscode中打开终端快捷键:
Ctrl + ~
可以看需求自行配置

在vscode中打开刚创建的文件夹
创建好的目录如下:
D:.
├─.vscode
├─public
└─src
├─assets
├─components
│ └─icons
├─router
├─stores
└─views
PS D:\vue_study\Review>
查看目录结构方式(终端输入):
# 仅查看文件夹
tree# 查看文件夹下的所有文件
tree /f# 查看指定目录下的文件结构
tree /f src
Vite官网:https://vitejs.cn
安装项目后,下一步是安装依赖:
npm i
文件介绍:
extensions.json 安装的插件引入项目中
node_modules 安装依赖后的存储位置
src 工程文件夹,用于储存前端工程师编写的页面代码
index.html vue的入口文件
vite.config.ts 安装插件,配置代理
项目的入口文件是 index.html,在该文件中通过引入 main.ts 来启动 Vue 应用。main.ts 中实例化了 App.vue 组件,并通过 createApp(App) 方法创建了 Vue 应用实例,随后使用 .mount('#app') 将其挂载到 index.html 中 id="app" 的 DOM 元素上,从而将整个 Vue 应用渲染到页面上。
vscode一些常用快捷键:
快速复制改行到下一行:shift+alter+向上
vscode中打开终端快捷键:Ctrl + ~
vue页面介绍
一般的页面结构是这样的
<template></template><script setup lang="ts"></script><style></style>
template里面用来写html标签。
<script> 标签用于引入文件、定义数据和编写功能等。在 <script> 中加上 setup 是 Vue 3 的简写语法,使用它可以避免手动导入并通过 export 暴露内容,从而简化代码。lang="ts" 用来指定脚本语言为 TypeScript,这样就能同时支持 JavaScript 和 TypeScript。如果不写 lang="ts",默认只支持 JavaScript。
style里则是用来写一些css样式。
App组件连接各组件:
一般的项目用一个vue文件实现是不太可能的,或者说可视性不高,这就需要使用多组件,将多个组件连接到App.vue上,每个组件又可以再有子组件,整体vue结构类似于树结构。
对于新创建的vue文件,在App.vue中进行引入,并注册,就可以使用标签了
<template>
<!-- 使用标签 -->
<Person/>
<Object_/>
</template>
<script lang="ts">import Person from './components/Person.vue'import Object_ from './components/object_.vue'export default{name: 'App', //组件名components:{Person,Object_}, //注册}
</script>
<style>
</style>
element-plus组件库
element-plus和Bootstrap一样,都是高人编写的一些封装的组件,在Django中需要下载文件,引入,在vue中就比较简单,在终端中输入:
npm install element-plus --save
在index.html文件中加入配置代码即可:
<link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" />
<script src="//unpkg.com/vue@3"></script>
<script src="//unpkg.com/element-plus"></script>
接下来,就可以ctrl+c+v了。
找到想要的组件

打开开发者工具,右键复制outerHTML到自己页面即可:

官网如下,可自行学习:安装 | Element Plus
启动项目
这里给个示例:
新建new.vue文件:
<template><h2>我的第一个vue项目</h2><div class="el-calendar"><div class="el-calendar__header"><div class="el-calendar__title">2025 January</div><div class="el-calendar__button-group"><div class="el-button-group"><button aria-disabled="false" type="button" class="el-button el-button--small"><!--v-if--><span class="">Previous Month</span></button><button aria-disabled="false" type="button" class="el-button el-button--small"><!--v-if--><span class="">Today</span></button><button aria-disabled="false" type="button" class="el-button el-button--small"><!--v-if--><span class="">Next Month</span></button></div></div></div><div class="el-calendar__body"><table class="el-calendar-table" cellspacing="0" cellpadding="0"><thead><tr><th scope="col">Sun</th><th scope="col">Mon</th><th scope="col">Tue</th><th scope="col">Wed</th><th scope="col">Thu</th><th scope="col">Fri</th><th scope="col">Sat</th></tr></thead><tbody><tr class="el-calendar-table__row"><td class="prev"><div class="el-calendar-day"><span>29</span></div></td><td class="prev"><div class="el-calendar-day"><span>30</span></div></td><td class="prev"><div class="el-calendar-day"><span>31</span></div></td><td class="current"><div class="el-calendar-day"><span>1</span></div></td><td class="current"><div class="el-calendar-day"><span>2</span></div></td><td class="current"><div class="el-calendar-day"><span>3</span></div></td><td class="current"><div class="el-calendar-day"><span>4</span></div></td></tr><tr class="el-calendar-table__row"><td class="current"><div class="el-calendar-day"><span>5</span></div></td><td class="current"><div class="el-calendar-day"><span>6</span></div></td><td class="current"><div class="el-calendar-day"><span>7</span></div></td><td class="current"><div class="el-calendar-day"><span>8</span></div></td><td class="current"><div class="el-calendar-day"><span>9</span></div></td><td class="current"><div class="el-calendar-day"><span>10</span></div></td><td class="current"><div class="el-calendar-day"><span>11</span></div></td></tr><tr class="el-calendar-table__row"><td class="current"><div class="el-calendar-day"><span>12</span></div></td><td class="current"><div class="el-calendar-day"><span>13</span></div></td><td class="current"><div class="el-calendar-day"><span>14</span></div></td><td class="current"><div class="el-calendar-day"><span>15</span></div></td><td class="current"><div class="el-calendar-day"><span>16</span></div></td><td class="current"><div class="el-calendar-day"><span>17</span></div></td><td class="current"><div class="el-calendar-day"><span>18</span></div></td></tr><tr class="el-calendar-table__row"><td class="current"><div class="el-calendar-day"><span>19</span></div></td><td class="current"><div class="el-calendar-day"><span>20</span></div></td><td class="current"><div class="el-calendar-day"><span>21</span></div></td><td class="current"><div class="el-calendar-day"><span>22</span></div></td><td class="current"><div class="el-calendar-day"><span>23</span></div></td><td class="current"><div class="el-calendar-day"><span>24</span></div></td><td class="current"><div class="el-calendar-day"><span>25</span></div></td></tr><tr class="el-calendar-table__row"><td class="current"><div class="el-calendar-day"><span>26</span></div></td><td class="current"><div class="el-calendar-day"><span>27</span></div></td><td class="current"><div class="el-calendar-day"><span>28</span></div></td><td class="current"><div class="el-calendar-day"><span>29</span></div></td><td class="current is-selected is-today"><div class="el-calendar-day"><span>30</span></div></td><td class="current"><div class="el-calendar-day"><span>31</span></div></td><td class="next"><div class="el-calendar-day"><span>1</span></div></td></tr></tbody></table></div></div>
</template>
<script setup></script><style></style>
App.vue:
<template><!-- 使用标签 -->
<new/>
</template><script lang="ts">import New from './components/new.vue'export default{name: 'App', //组件名components:{New}, //注册}
</script><style></style>
打开终端,输入:
npm run dev
打开页面如下:

感谢您的三连!!!
相关文章:
【玩转全栈】--创建一个自己的vue项目
目录 vue介绍 创建vue项目 vue页面介绍 element-plus组件库 启动项目 vue介绍 Vue.js 是一款轻量级、易于上手的前端 JavaScript 框架,旨在简化用户界面的开发。它采用了响应式数据绑定和组件化的设计理念,使得开发者可以通过声明式的方式轻松管理数据和…...
基于 Spring Cloud + Spring AI + VUE 的知识助理平台介绍以及问题
前言(一些废话) 在看这篇文章的各位大佬,感谢你们留出几分钟时间,来看这个产品介绍,其实重点说实话,不是这个产品怎么样。而是在最后有一个郁结在心里的几个问题,希望大佬们能给出一些建议。万…...
< 自用文儿 > 下载 MaxMind GeoIP Databases 对攻击的 IP 做 地理分析
起因 两个 VPM/VPS,安装了 fail2ban 去拦截密码穷举攻击。每天的记录都在增长,以前复制屏幕输出就行,一屏的内容还容易粘贴出来的。昨天已经过 500 条,好奇 fail2ban 是如何存储这些内容的?就发现它在使用 SQLite3 数…...
前端知识速记:重绘和回流
前端知识速记:重绘和回流 一、什么是重绘与回流 1. 重绘(Repaint) 重绘是指当元素的外观发生变化时,浏览器需要重新绘制这些元素。由于这些操作不会改变元素占据的空间,因此不需要进行回流。常见的重绘操作包括&…...
webrtc peerconnection_client peerconnection_server 连接失败问题解决 win10 win11
0 常见问题 (1) webrtc peerconnection_client 连接 peerconnection_server 无连接列表 (2)连接导致崩溃debug状态下因为这个断言 RTC_DCHECK_RUN_ON(&capture_checker_); 1 在 peerconnection\client\main.cc 当中 定义类 class CustomSock…...
【C++】STL——list的使用与底层实现
目录 💕1.带头双向链表List 💕2.list用法介绍 💕3.list的初始化 💕4.size函数与resize函数 💕5.empty函数 💕6.front函数与back函数 💕7.push_front,push_back,pop_front,pop_back函数…...
iOS 音频录制、播放与格式转换
iOS 音频录制、播放与格式转换:基于 AVFoundation 和 FFmpegKit 的实现 在 iOS 开发中,音频处理是一个非常常见的需求,比如录音、播放音频、音频格式转换等。本文将详细解读一段基于 AVFoundation 和 FFmpegKit 的代码,展示如何实现音频录制、播放以及 PCM 和 AAC 格式之间…...
【PyTorch】解决Boolean value of Tensor with more than one value is ambiguous报错
理解并避免 PyTorch 中的 “Boolean value of Tensor with more than one value is ambiguous” 错误 在深度学习和数据科学领域,PyTorch 是一个强大的工具,它允许我们以直观和灵活的方式处理张量(Tensor)。然而,即使…...
Jsoup库具体怎么用?
Jsoup 是一个非常强大的 Java 库,用于解析和操作 HTML 文档。它提供了丰富的功能,包括发送 HTTP 请求、解析 HTML 内容、提取数据、修改 HTML 元素等。以下将详细介绍 Jsoup 的基本用法和一些高级功能,帮助你更好地使用 Jsoup 进行网络爬虫开…...
python:如何播放 .spx 声音文件
.spx 是 Speex音频编解码器的文件扩展名,它是一种开源的、免费的音频编解码器,主要用于语音压缩和语音通信领域。spx 文件通常用于语音记录、VoIP应用、语音信箱等场景。 .mp3 是一种广泛使用的音频格式,它采用了有损压缩算法,可…...
HTML学习笔记(6)
利用dom操作实现,对一个表格的增删改查 代码如下: todolist.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, …...
走向基于大语言模型的新一代推荐系统:综述与展望
HightLight 论文题目:Towards Next-Generation LLM-based Recommender Systems: A Survey and Beyond作者机构:吉林大学、香港理工大学、悉尼科技大学、Meta AI论文地址: https://arxiv.org/abs/2410.1974 基于大语言模型的下一代推荐系统&…...
【DeepSeek-R1 +1.5B】2060显卡ollama本地部署+open-webui界面使用
https://github.com/open-webui/open-webui Deepseek开源R1系列模型,纯RL助力推理能力大跃升! 2060显卡下使用deepseek-r1-1.5B deepseek开源小模型需要的显存(根据显存来选模型大小) ,图from: DeepSeek本地部署&…...
《翻转组件库之发布》
背景 继《翻转组件库之打包》_杨晓风-linda的博客-CSDN博客之后,组件库已经可以正常构建,那如何像elementUI等组件库那样,用npm安装,按照既定的用法使用即可呢?本篇便为你揭晓 资料相关 1、npm官方文档:…...
在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高
在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高 在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高而其他的中奖倍数较低。这种不均衡会导致模型偏向于高频样本(低中奖倍数的),…...
语言月赛 202311【基因】题解(AC)
》》》点我查看「视频」详解》》》 [语言月赛 202311] 基因 题目描述 有一个长度为 n n n 的字符串 S S S。其只包含有大写字母。 小 A 将 S S S 进行翻转后,得到另一个字符串 S ′ S S′。两个字符串 S S S 与 S ′ S S′ 对应配对。例如说,对…...
unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键
目录 1 用Input接口去监测:鼠标,键盘,虚拟轴,虚拟按键 2 鼠标 MouseButton 事件 2.1 鼠标的基本操作 2.2 测试代码 2.3 测试情况 3 键盘Key事件 3.1 键盘的枚举方式 3.2 测试代码同上 3.3 测试代码同上 3.4 测试结果 4…...
GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读
一、43698-2024标准图解 https://mmbiz.qpic.cn/sz_mmbiz_png/rwcfRwCticvgeBPR8TWIPywUP8nGp4IMFwwrxAHMZ9Enfp3wibNxnfichT5zs7rh2FxTZWMxz0je9TZSqQ0lNZ7lQ/640?wx_fmtpng&fromappmsg 标准在线预览: 国家标准|GB/T 43698-2024 相关标准: &a…...
ASP.NET Core与EF Core的集成
目录 分层项目中EF Core的用法 数据库的配置 数据库迁移 步骤汇总 注意: 批量注册上下文 分层项目中EF Core的用法 创建一个.NET类库项目BooksEFCore,放实体等类。NuGet:Microsoft.EntityFrameworkCore.RelationalBooksEFCore中增加实…...
【AI大模型】Ubuntu18.04安装deepseek-r1模型+服务器部署+内网访问
以下内容主要参考博文:DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」 - 程序设计实验室 - 博客园 安装 ollama Download Ollama on Linux curl -fsSL https://ollama.com/install.sh | sh 配置 ollama 监听地址 ollama 安装后…...
书匠策AI毕业论文功能全拆解:一个教论文写作的博主,居然被它种草了
你还在对着空白文档发呆?这个AI工具让我"真香"了 各位同学,我是你们的论文写作科普博主。 说句大实话,这几年我教过上千个学生怎么写毕业论文,从选题到开题、从大纲到终稿,每个环节我都能给你掰碎了讲。但…...
Halbot框架解析:从零构建可扩展聊天机器人的实践指南
1. 项目概述:一个轻量级、可扩展的聊天机器人框架最近在折腾一个需要集成多个聊天平台(比如微信、钉钉、Telegram)的自动化项目,发现市面上现成的机器人框架要么太重,要么扩展性不够,要么就是文档写得云里雾…...
构建智能增量更新插件:Softer-Delta算法与工程实践
1. 项目概述与核心价值最近在折腾一些自动化工作流,发现很多场景下,我们都需要一个能“聪明”地处理文件差异、生成补丁,并且能无缝集成到现有工具链里的插件。这让我想起了之前用过的一个叫pear-plugin的工具,它挂在Softer-delta…...
vue基于springboot框架的社区医疗预约挂号平台的设计与实现
目录同行可拿货,招校园代理 ,本人源头供货商项目概述技术栈核心功能模块系统架构设计关键实现细节扩展性与优化方向项目技术支持源码获取详细视频演示 :同行可合作点击我获取源码->->进我个人主页-->获取博主联系方式同行可拿货,招校园代理 ,本人源头供货商…...
ngx_http_read_request_header
1 定义 ngx_http_read_request_header 函数 定义在 ./nginx-1.24.0/src/http/ngx_http_request.cstatic ssize_t ngx_http_read_request_header(ngx_http_request_t *r) {ssize_t n;ngx_event_t *rev;ngx_connection_t *c;ngx_http_…...
从Crustocean/conch看轻量级工作流编排:DAG原理与Python实现
1. 项目概述:从“Crustocean/conch”看现代数据管道编排的演进最近在梳理团队的数据处理流程时,我又一次被那些错综复杂的脚本、定时任务和手动依赖检查搞得焦头烂额。这让我想起了几年前第一次接触“Crustocean/conch”这个项目时的情景。当时ÿ…...
iOS 18.2 Siri大模型升级:从命令响应到意图理解的混合智能架构解析
1. 项目概述:当Siri遇上ChatGPT,一次迟来的“大脑移植”作为一名长期关注移动操作系统与AI交互的从业者,我几乎第一时间就刷到了iOS 18.2 Beta 1的更新包。这次更新的标题——“Siri接入ChatGPT技术”——简单直接,却足以在圈内掀…...
AI编程提示工程实战:从AwesomeCursorPrompt看高效开发与社区协作
1. 项目概述:从“Awesome”前缀看提示工程的社区实践在AI应用开发,特别是大语言模型(LLM)和AI助手交互的领域,一个清晰、结构化的提示(Prompt)往往决定了最终输出质量的80%。很多开发者都有过这…...
FreeRTOS任务通知:轻量级任务通信机制详解与实战应用
1. 项目概述:为什么你需要关注FreeRTOS任务通知?在嵌入式实时操作系统(RTOS)的开发中,任务间的通信与同步是核心课题。如果你用过FreeRTOS,肯定对队列、信号量、事件组这些通信机制不陌生。它们功能强大&am…...
取号机嵌入式扫码模组选型与集成实战:以4500R为例破解复杂场景应用难题
1. 项目概述:取号机扫码模组的选型困境与破局在智慧政务大厅、银行网点、医院门诊这些我们日常办事的高频场景里,取号机早已不是新鲜事物。但不知道你有没有留意过,现在越来越多的取号机旁边,除了传统的按键和触摸屏,还…...
