从零开始搭建vue框架

news2024/12/24 0:12:58

 流程图

开始
|
|-- 2013 年底,尤雨溪开始开发 Vue 框架,最初命名为 Seed,后更名为 Vue
|   |-- 2013 年 12 月,Vue 0.6.0 版本
|
|-- 2014 年 1 月 24 日,Vue 0.8.0 版本发布
|   |-- 2014 年 2 月 25 日,Vue 0.9.0 版本,代号 Animatrix
|
|-- 2015 年 6 月 13 日,Vue 0.12.0 版本,代号 Dragon Ball
|   |-- 2015 年,Laravel 社区首次使用 Vue,Vue 在 JS 社区打响知名度
|   |-- 2015 年,vue-router、vuex、vue-cli 相继发布
|
|-- 2016 年 10 月 1 日,Vue 1.0.0 版本,代号 Evangelion
|
|-- 2019 年 2 月 4 日,Vue 2.6.0 版本,代号 Macross
|
|-- 2020 年 9 月,Vue 3.0 版本发布
结束

vue简介

Vue 框架由尤雨溪开发,其发展历程如下:

  1. 2013 年底,尤雨溪受到 Angular 的启发,开始开发 Vue 框架,最初命名为 Seed。同年 12 月,Seed 更名为 Vue,版本号是 0.6.0。
  2. 2014 年 1 月 24 日,Vue 正式对外发布,版本号是 0.8.0。发布于 2 月 25 日的 0.9.0 版本有了自己的代号:Animatrix(动画版《骇客帝国》),此后重要的版本都会有代号。
  3. 2015 年 6 月 13 日发布的 0.12.0 版本,代号为 Dragon Ball(龙珠),这一年 Vue 迎来了大爆发。同年,Laravel 社区(一款流行的 PHP 框架的社区)首次使用 Vue,Vue 在 JS 社区也打响了知名度。
  4. Vue 1.0.0 Evangelion(新世纪福音战士)是 Vue 历史上的第一个里程碑。同年,vue-router(2015-08-18)、vuex(2015-11-28)、vue-cli(2015-12-27)相继发布,标志着 Vue 从一个视图层库发展为一个渐进式框架。
  5. 2016 年 10 月 1 日发布的 2.0.0 Ghost in the Shell(攻壳机动队)是第二个重要的里程碑,它吸收了 React 的 Virtual Dom 方案,还支持服务端渲染。
  6. 2019 年 2 月 4 日,Vue 发布了 2.6.0 Macross(超时空要塞)版本。该版本的主要改动涉及语法更新、性能提升以及向计划中的 3.0 靠拢,包括提供新的指令 v-slot 以代替 slot 组件、异步错误处理的改进、支持动态指令参数、编译器警告位置信息的添加、显式创建独立的响应式对象、新 ES 模块构建可直接导入使用、让 nextTick 恢复使用 Microtask 等。
  7. 2020 年 9 月,Vue 3.0 正式发布,其主要特点是具有更快的速度、更小的体积、更易于使用的 API 以及更好的 TypeScript 支持。

Vue 框架

Vue 是一个用于构建用户界面的渐进式 JavaScript 框架。

它具有以下显著特点和优势:

  1. 轻量级:Vue 的核心库只关注视图层,体积相对较小,易于上手和集成到项目中。
    • 例如,对于小型项目或只需要简单前端交互的应用,Vue 能够快速搭建起有效的界面。
  2. 数据驱动:通过将数据和视图进行绑定,当数据发生变化时,视图会自动更新。
    • 比如,一个购物车中的商品数量发生改变,对应的显示数量的视图也会实时更新,无需手动操作 DOM。
  3. 组件化开发:可以将页面拆分成多个独立的、可复用的组件,提高代码的可维护性和可扩展性。
    • 像导航栏、侧边栏等常见的模块都可以封装为组件,在不同页面中重复使用。
  4. 指令系统:提供了丰富的指令,如 v-ifv-for 等,方便对 DOM 进行操作和控制。
    • 用 v-if 可以根据条件决定元素是否渲染,v-for 可以方便地遍历数组或对象来生成列表。
  5. 良好的生态:拥有大量的第三方插件和库,满足各种开发需求。

Vue.js是一种用于构建用户界面的渐进式JavaScript框架。它有以下三个版本:

  • Vue 1.x:于2014年2月发布了第一个公开版本。其核心特点是直接操作DOM,并且支持可组合的视图组件。该版本使用了全局混合,开发者可以在应用程序的任何一个组件中注册一个混合,并将新功能添加到组件上。但是,Vue 1.x没有提供过多的模板语法,很多时候需要手动撰写DOM元素来创建组件。此外,它还没有提供服务端渲染功能。
  • Vue 2.x:是Vue.js的第二个主要版本,于2016年9月发布。它的核心特点是支持虚拟DOM,并且提供了新的语法和指令。该版本还支持服务端渲染和SSR性能优化,可提高应用程序的性能。此外,Vue 2.x在自定义指令、组件和混合方面提供了更多的可选项,并定期发布稳定的升级版本,以解决已知的问题。其中,最重要的新功能是scoped slot和动态组件,这些功能允许开发者构建灵活的整体组件。
  • Vue 3.x:是Vue.js的最新主要版本,于2020年9月发布。它带来了很多变化,包括许多特性和增强功能,以及对Vue全新的响应式API的升级。该版本通过使用Proxy对象而不是Object.defineProperty来管理响应式状态,大大减轻了内部操作的负担。此外,Vue 3.x还提供了新的Composition API,使开发者可以更灵活地组织组件逻辑和状态。这些API使得开发者可以轻松创建复杂的组件和应用程序。与Vue 2.x相比,Vue 3.x还优化了虚拟DOM算法,提高了性能。 Vue 3.x的模板语法也进行了更新,现在更加简单明了。

了解了vue的历史之后我们开始 

 从零开始搭建vue框架

首先准备一些必备的工具和软件

WebStrom

WebStorm 是一款商业软件,需要付费使用,但 JetBrains 也提供了学生和开源项目免费使用的许可证。它的功能非常丰富,不过学习曲线较陡峭,且占用资源较多。同时,它主要适用于 Web 开发。

Visual Studio Code 

如何安装Visual Studio Code-CSDN博客

Visual Studio Code(简称 VS Code)

Visual Studio Code 是一款由微软开发的免费、开源的现代化轻量级代码编辑器。

在实际应用中

  1. 对于前端开发,VS Code 配合相关扩展可以轻松编写 HTML、CSS 和 JavaScript 代码。
  2. 后端开发中,无论是 Python、Java 还是 Node.js 等语言,都能得到很好的支持。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。

在这里在列一下需要安装的软件列表( WebStrom和 Visual Studio Code 二选一)

  node.js

如何安装node.js-CSDN博客

 Visual Studio Code 

如何安装Visual Studio Code-CSDN博客

 WebStrom

安装完上面的软件之后要安装一个插件

打开开发者工具

打开拓展

 搜索vue,安装Vue-Officical插件

安装之后

 到这里,恭喜你,所有的安装准备工作就完成了

第四步,我们要下载一个vue项目进行运行

在网上找一个vue项目下载一下

GitHub和csdn上都有对应的资源可以随意下载

在这里我随意展示一个实例代码资源库

 这里推荐这几个网站,都是免费的

Fantastic-admin | 一款 Vue 中后台管理系统框架 (gitee.io)

装载。。。 (buildadmin.com)

GitCode - 开发者的代码家园

上面这些网站都是可以下载后台项目。

这里我以下面的这个项目为例

vue-element-plus-admin: 一套基于vue3、element-plus、typescript4、vite3的后台集成方案 (gitee.com)

打开网页

 需要进行一个验证,

在window浏览器下载的文件,一般都在

文件管理系统的下载文件夹下

 

下载完之后打开文件夹

 下载完之后,进行解压

这里我解压到桌面方便操作,也可以解压到其它地方

用开发者工具打开

在terminal命令行中输入命令:

在这里说一下,安装命令和运行命令,都有很多种

项目的命令依赖,要根据具体情况

主要放在 package.json文件下

这里给出常用的两种 

安装依赖命令

npm install

#或者采用
pnpm install

 

 

 

安装后之后进行运行

npm start

#或者

npm run dev
npm run serve
(具体情况要根据对应的package.json文件里面的配置进行输入)

 

 打开网址

 恭喜你,你已经可以成功搭建一个后台管理系统里,可以登录看看。

 这里只是一个后台模版,还需要根据你自己的情况,进行配置和组合。

在运行过程中可能出现失误

 这个问题是由于命令权限导致的,需要管理权限

在任务栏下方的搜索框中输入cmd

 选择第一个命令提示符

 

在命令行里面操作就可以了

 有时候会报错

有些错误可以删掉对应文件夹下面的

在重新pnpm install加载一下

应该就可以了

如果出现下面的错误

您遇到的问题中包含了几个部分,我将逐一解释并提供可能的解决方案:

  1. Browserslist: caniuse-lite is outdated
    • 这个问题提示您的 caniuse-lite 数据库已经过时。这通常不会影响项目的运行,但建议定期更新以保持兼容性信息的准确性。您可以通过运行命令 npx update-browserslist-db@latest 来更新这个数据库。
  2. Error: error:0308010C:digital envelope routines::unsupported
    • 这是一个在 Node.js 17+ 版本中常见的问题,尤其是在 Windows 系统上。这个错误通常与 OpenSSL 的加密模块有关,特别是在某些版本的 Node.js 中,OpenSSL 的默认配置发生了变化。
    • 解决方案
      • 设置环境变量:您可以通过设置环境变量 NODE_OPTIONS 来禁用 OpenSSL 的某些特性。打开命令提示符(CMD)或 PowerShell,然后运行以下命令
set NODE_OPTIONS=--openssl-legacy-provider

 早重新启动就可以了

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据中心内存RAS技术发展背景

随着数据量的爆炸性增长和云计算的普及,数据中心内存的多比特错误及由无法纠正错误(UE)导致的停机问题日益凸显,这些故障不仅影响服务质量,还会带来高昂的修复或更换成本。随着工作负载、硬件密度以及对高性能要求的增加,数据中心…

408数据结构-图的应用3-有向无环图、拓扑排序 自学知识点整理

前置知识:表达式,图的遍历 有向无环图描述表达式 有向无环图:若一个有向图中不存在环,则称为有向无环图,简称 D A G DAG DAG图 。 (图片来自王道考研408数据结构2025) 由王道考研-咸鱼学长的讲…

进销存管理系统设计

进销存管理系统(Inventory Management System,简称IMS)是一种帮助企业有效管理商品的入库、出库及库存情况的信息系统。良好的进销存管理系统能够提升库存周转率、减少库存成本、提高订单处理效率,从而增强企业的市场竞争力。以下…

SD card知识总结

一、基础知识 1、简介 SD Card 全称(Secure Digital Memory Card),日本电子公司松下(Panasonic)、瑞典公司爱立信(Ericsson)、德国公司西门子(Siemens)共同开发的,于1999年发布根…

超声波清洗机排行榜,热门超声波清洗机哪个更值得入手?

用超声波清洗机洗眼镜已经不算是什么惊奇的事情了,并且很多戴眼镜的朋友更是因为超声波清洗机能够清洗眼镜而慕名前来。毕竟现在洗眼镜能够用超声波清洗机代劳实在是一件很省心的事情!~但是,对于超声波清洗机你们真的了解吗?因此本…

从零开始学习cartographer源码 | 番外:如何在wsl内使用clion阅读cartographer源码

从零开始学习cartographer源码 | 番外:如何在wsl内使用clion阅读cartographer源码 安装WSL2及Clion安装WSL2-Ubuntu20.04安装Clion安装ROS 安装Cartographer一键安装Cartographer 在Clion打开cartographer工程安装gdb手动创建CMakeLists.txt打开项目配置wsl工具链配…

一款简单的音频剪辑工具

Hello,大家好呀,我是努力搬砖的小画。 今天小画给大伙分享一款强大的音频剪辑工具--【剪画】,无需下载就能使用,支持对MP3、M4A、AAC等多种格式文件进行剪辑、分割、拼接、混音、变声、淡入淡出、音频格式转换、视频转音频、消除…

网关设备BL122实现Modbus RTU/TCP转Profinet协议

Modbus与Profinet是两种广泛应用于工业自动化领域的通信协议:Modbus因其简单性和兼容性,在许多工业设备中得到广泛应用;而Profinet提供了高速、高精度的通信能力,适合于复杂控制系统和实时应用,但两者之间的差异导致了…

安防视频监控/视频汇聚EasyCVR平台浏览器http可以播放,https不能播放,如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SD…

Pod网络、Service网络、网络插件Calico、网络插件Flannel(2024-07-12)

一、Pod网络 在K8S集群里,多个节点上的Pod相互通信,要通过网络插件来完成,比如Calico网络插件。 使用kubeadm初始化K8S集群时,有指定一个参数 --pod-networkcidr10.18.0.0/16 它用来定义Pod的网段。而我们在配置Calico的时候&…

LED显示屏中什么是光纤传输?什么是网线传输?

在科技日新月异的今天,LED显示屏已成为信息传播和视觉展示的重要工具。然而,一块亮丽的LED显示屏背后,数据传输技术发挥着至关重要的作用。今天,我们就来一起探索LED显示屏中两种常见的数据传输方式:光纤传输和网线传输…

护网--2

实验要求: 1、办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 2、分公司设备可以通过总公司的移动链路和电信链路访问到Dmz区的http服务器 3、多出口环境基于带宽比例进行选路,但是,…

力扣 二叉树 相关题目总结2

目录 一、101 对称二叉树 题目 题解 方法一:递归(推荐) 方法二:迭代 二、100 相同的树 题目 题解 方法一:递归法 方法二:深度优先搜索 三、111 二叉树的最小深度 题目 题解 方法一&#xff1…

单点触摸屏和多点触摸屏介绍以及原理简略

单点和多点触摸屏技术是现代触摸设备的基础,下述简单解释这两种技术及其差异。 单点触摸屏 单点触摸屏只能在某一时刻检测一个触摸点的位置。这种触摸屏适用于简单的触摸交互,如点击和拖动。 工作原理 单点触摸屏主要通过以下几种技术实现&#xff1…

VS编译和使用modbus库

一.libmodbus 库 免费的开源的,modbus 开发库,支持 RTU 和 TCP 官网:libmodbus.org 在线文档:https://libmodbus.org/reference/ 二.源码简介 项目说明doc 目录各 API 接口的详细说明文档src 目录源码都在这个目录下tests 目录…

【Redis从0到1进阶】Redis 持久化

笔记内容来自B站博主《遇见狂神说》:Redis视频链接 Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所有Redis 提供了持久化功能! 一、RDB&#xff…

pixelRNN与pixelCNN

目的:为了找到一个最能解释得到的生成样本的模型 PixelRNN 我们需要利用概率链式法则将图像x的生成概率转变为每个像素生成概率的乘积,也就是每个通道生成概率的乘积。 公式: 公式解释:p(x)是每个图像x的概率;右侧为…

一文快速接入银行卡识别API

银行卡识别API 能通过机器学习和图像识别技术来解析银行卡相关信息,根据用户上传卡片自动识别内容,返回该卡的卡号、所属银行及银行类型等信息。可以在用户需要输入银行卡等相关信息时使用该功能,帮助用户快速输入正确信息,简化用…

PE文件(十一)移动导出表和重定位表

移动表的原因 一个PE文件中有很多节,每个节都存储不同的数据。而PE文件中的各种表也都分散存储在这些节当中。此时各种表的信息与程序的代码和数据相互混合在一起,如果我们直接对整个程序进行加密,那系统在初始化程序时就会出问题。比如&…

2024年7月9日~2024年7月15日周报

目录 一、前言 二、完成情况 2.1 特征图保存方法 2.1.1 定义网络模型 2.1.2 定义保存特征图的钩子函数 2.1.3 为模型层注册钩子 2.1.4 运行模型并检查特征图 2.2 实验情况 三、下周计划 一、前言 本周的7月11日~7月14日参加了机器培训的学习讨论会,对很多概…