【Vue】Vite基础学习


文章目录

  • Vite 基础学习
    • 一、单页面应用程序
    • 二、Vite 基本使用
      • 2.1 创建 vite 项目
      • 2.2 项目结构
      • 2.3 项目运行流程


Vite 基础学习


一、单页面应用程序

单页面应用程序(英文名:Single Page Application)简称 SPA,顾名思义,指的是一个 Web 网站中只有唯一的一个 HTML 页面,所有的功能与交互都在这唯一的一个页面内完成。

image-20230622141413436


特点

  • 单页面应用程序将所有的功能局限于一个 web 页面中,仅在该 web 页面初始化时加载相应的资源( HTML、JavaScript 和 CSS)。

  • 一旦页面加载完成了,SPA 不会因为用户的操作而进行页面的重新加载或跳转。而是利用 JavaScript 动态地变换HTML 的内容,从而实现页面与用户的交互。


优点

① 良好的交互体验

  • 单页应用的内容的改变不需要重新加载整个页面

  • 获取数据也是通过 Ajax 异步获取

  • 没有页面之间的跳转,不会出现“白屏现象”

② 良好的前后端工作分离模式

  • 后端专注于提供 API 接口,更易实现 API 接口的复用

  • 前端专注于页面的渲染,更利于前端工程化的发展

③ 减轻服务器的压力

  • 服务器只提供数据,不负责页面的合成与逻辑的处理,吞吐能力会提高几倍

缺点

① 首屏加载慢

  • 路由懒加载 lazy

  • 代码压缩

  • CDN 加速

  • 网络传输压缩

② 不利于 SEO (search engine optimization)

  • SSR 服务器端渲染:在后台将vue实例渲染为HTML字符串直接返回,在前端激活为交互程序。

二、Vite 基本使用


快速创建 vue 的 SPA 项目方式:

​ ① 基于 vite 创建 SPA 项目

​ ② 基于 vue-cli 创建 SPA 项目

image-20230622142322739


2.1 创建 vite 项目

在项目目标文件路径下打开cmd,输入命令:G:\Projects\IdeaProject\Vue\Vite基础>npm init vite-app vite 即可创建出初始项目:

在这里插入图片描述

npm install 是 Node Package Manager (npm) 的一个命令,用于在项目中安装所需的依赖包。它会读取项目目录中的 package.json 文件,并从 npm registry 下载定义的依赖包。在项目中使用依赖包的代码之前,通常需要先运行 npm install 命令。

{  // 默认配置的package.json文件
  "name": "vite",
  "version": "0.0.0",
  "scripts": {  // 配置运行的脚本 npm run dev / build 将会启动vite程序
    "dev": "vite",
    "build": "vite build"
  },
  "dependencies": {
    "vue": "^3.0.4"
  },
  "devDependencies": {
    "@vue/compiler-sfc": "^3.0.4",
    "vite": "^1.0.0-rc.13"
  }
}

进入到 vite 目录下,运行命令: npm install :

image-20230622144253996

然后运行命令:npm run dev,启动 vite 程序,

image-20230622144955577浏览器输入网址: http://localhost:3000/ 可进入创建的初始页面:

image-20230622144837189


2.2 项目结构

在vscode中打开项目:

image-20230622143715940

  • node_modules 目录用来存放第三方依赖包

  • public 是公共的静态资源目录

  • src 是项目的源代码目录(程序员写的所有代码都要放在此目录下)

    ⚫ assets 目录用来存放项目中所有的静态资源文件(css、fonts等)

    ⚫ components 目录用来存放项目中所有的自定义组件

    ⚫ App.vue 是项目的根组件

    ⚫ index.css 是项目的全局样式表文件

    ⚫ main.js 是整个项目的打包入口文件

  • .gitignoreGit 的忽略文件

  • index.htmlSPA 单页面应用程序中唯一的 HTML 页面

  • package.json 是项目的包管理配置文件


2.3 项目运行流程

在工程化的项目中,vue 要做的事情很单纯:通过 main.js 把 App.vue 渲染到 index.html 的指定区域中。其中:

​ ① App.vue 用来编写待渲染的模板结构

​ ② index.html 中需要预留一个 el 区域

​ ③ main.jsApp.vue 渲染到了 index.html 所预留的区域中

上述的内容我們通过其具体的代码文件进行合并联系:

image-20230622151228164

最关键的还是 main.js 文件,把 App.vue 渲染到了 index.html 所预留的区域中

image-20230622151921252

通过最终的页面源码验证我们的猜想,可以看到猜想基本正确,需要注意的是在vue的组件中我们的前端代码需要包含在<template>标签之中,但是最终在页面中该标签不会显示 :

image-20230622151239384


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/32170.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Server - 配置安装 Git LFS | BWM-NG | Tmux | BOS 等命令

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131302104 构建实验Docker&#xff1a; nvidia-docker run -it --name git-lfs-[your name] --nethost -p [port]:[port] -v [nfs path…

基于Python+Django+mysql+html图书管理系统

基于PythonDjangomysqlhtml图书管理系统 一、系统介绍二、功能展示1.用户登陆2.用户注册3.密码修改4.图书查询5.图书添加6.图书修改7.图书删除 三、其它系统四、获取源码 一、系统介绍 该系统实现了 用户登陆、用户注册、密码修改、图书查询、图书添加&#xff0c;图书修改、图…

大厂OKR管理法:公开透明是最大特点

大厂OKR管理法&#xff1a;公开透明是最大的特点 仔细想&#xff0c;这是一件破天荒的事情 企业内部大部分的任务“公开透明” 公开透明会减少巨大的沟通成本 每个人的关键任务几乎是全部公开 估计少数的财务、人事、公关方面的不会 趣讲大白话&#xff1a;公开透明损耗少 【趣…

尚硅谷甄选--(暂时不更新,实习,后期有时间更)

文章目录 搭建后台管理系统模板项目的资源地址项目初始化2.1.1环境准备2.1.2初始化项目2.2项目配置一、eslint配置1.1vue3环境代码校验插件1.2修改.eslintrc.cjs配置文件1.3.eslintignore忽略文件1.4运行脚本 二、配置**prettier**2.1安装依赖包2.2.prettierrc.json添加规则2.3…

高速电路设计系列分享-熟悉JESD204B(上)

目录 概要 整体架构流程 技术名词解释 技术细节 1.应用层 2.传输层 小结 基本概要 随着高速ADC跨入GSPS范围&#xff0c;与FPGA(定制ASIC)进行数据传输的首选接口协JESD204B。为了捕捉频率范围更高的RF频谱&#xff0c;需要宽带RFADC。在其推动下&#xff0c;对于能够捕捉更宽带…

SpringBoot3 快速入门及原理分析

1. 环境要求 环境&工具版本SpringBoot3.0.5IDEA2021.2.1Java17Maven3.5Tomcat10.0 2. SpringBoot是什么 SpringBoot 能帮我们简单、快速地创建一个独立的、生产级别的 Spring 应用&#xff08;说明&#xff1a;SpringBoot底层是Spring&#xff09; SpringBoot 应用只需…

【复杂网络建模】——基于微博数据的影响力最大化算法(PageRank)

&#x1f935;‍♂️ 个人主页&#xff1a;Lingxw_w的个人主页 ✍&#x1f3fb;作者简介&#xff1a;计算机科学与技术研究生在读 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4a…

【吴恩达deeplearning.ai】基于LangChain开发大语言应用模型(下)

以下内容均整理来自deeplearning.ai的同名课程 Location 课程访问地址 DLAI - Learning Platform Beta (deeplearning.ai) LangChain for LLM Application Development 基于LangChain开发大语言应用模型&#xff08;上&#xff09; 一、LangChain: Q&A over Documents基于文…

MySQL进阶SQL语句2之表连接

目录 1.连接查询 1.1inner&#xff08;内连接&#xff09; 1.2left join&#xff08;左连接&#xff09; 1.3right join&#xff08;右连接&#xff09; 1.4直接查询两个表相同的字段值的数据 2. VIEW&#xff08;视图&#xff09; 2.1create view&#xff08;创建视图…

3.CSS 的背景

通过CSS背景属性&#xff0c;可以给页面元素添加背景样式。 背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。 3.1背景颜色 background-color属性定义了元素的背景颜色 background-color:颜色值;一般情况下元素背景颜色默认值是transparent(透…

MySQL数据库主从复制与读写分离(图文详解!)

目录 前言 一&#xff1a;MySQL数据库主从复制与读写分离 1、什么是读写分离&#xff1f; 2、为什么要读写分离呢&#xff1f; 3、什么时候要读写分离&#xff1f; 4、主从复制与读写分离 5、mysql支持的复制类型 &#xff08;1&#xff09;STATEMENT &#xff08;2&…

云原生时代数据治理的变革与创新

随着数字化进程的深入&#xff0c;企业对数据的依赖日益加深&#xff0c;数据资源的重要性愈发凸显。如何管好、用好数据&#xff0c;做好数据治理工作&#xff0c;发挥数据资源价值&#xff0c;成为企业提质增效过程中的重要议题。 在本次直播中&#xff0c;我们介绍了数据治…

计算机网络管理- SNMP协议报文和报文格式分析,SNMP PDU分析

⬜⬜⬜ &#x1f430;&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;(*^▽^*)欢迎光临 &#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;&#x1f430;⬜⬜⬜ ✏️write in front✏️ &#x1f4dd;个人主页&#xff1a;陈丹宇jmu &am…

【MongoDB】五、MongoDB分片集群的部署

【MongoDB】五、MongoDB分片集群的部署 实验目的实验内容实验步骤环境准备部署 Config server配置Config Server副本集部署Shard部署mongos启动分片功能查看分片信息 实验小结 实验目的 能够通过部署MongoDB分片集群熟悉MongoDB分片集群架构和基本操作&#xff0c;从而解决大数…

在spring事务中扩展业务操作;spring事务同步器TransactionSynchronizationManager

概述 业务上经常会有一些需求是需要在某个数据库操作事务提交之后再去操作。 我常用的就方式有TransactionalEventListener和TransactionSynchronizationManager. 其实TransactionalEventListener背后使用的也是TransactionSynchronizationManager。 注意点&#xff1a;在a…

【人工智能】人工智能和双曲几何

一、说明 作为人工智能技术的理论支撑,几何学是必不可少的;目前直接的几何技术有:计算几何--对集合体如点云处理有用;射影几何--对3d重构有用;双曲几何--在自然语言的词嵌入做基础数学模型,另外深度学习国外有双曲网络在应用。本文针对双曲几何进行探讨。 二、各种几何的…

[CKA]考试之四层负载均衡service

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Task 重新配置一个已经存在的front-end的deployment&#xff0c;在名字为nginx的容…

gitTortoise图形化工具下载步骤

一&#xff0c;简介 本文主要介绍如何下载安装gitTortoise图形化工具来管理和提交代码。 二&#xff0c;步骤介绍 2.1 安装包下载 下载地址&#xff1a;https://download.tortoisegit.org/tgit/ 打开后&#xff0c;界面如下&#xff1a; 点击选择最新的稳定release版本&am…

【Unity3D】雾效

1 前言 屏幕深度和法线纹理简介中对深度和法线纹理的来源、使用及推导过程进行了讲解&#xff0c;激光雷达特效中讲述了一种重构屏幕像素点世界坐标的方法&#xff0c;本文将介绍使用深度纹理重构屏幕像素点在相机坐标系下的坐标计算方法&#xff0c;并使用重构后的坐标模拟雾…

驱动开发:基于事件同步的反向通信

在之前的文章中LyShark一直都在教大家如何让驱动程序与应用层进行正向通信&#xff0c;而在某些时候我们不仅仅只需要正向通信&#xff0c;也需要反向通信&#xff0c;例如杀毒软件如果驱动程序拦截到恶意操作则必须将这个请求动态的转发到应用层以此来通知用户&#xff0c;而这…