Vue—什么是Vue,怎样配置和搭建Vue3项目

简介: Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合,另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。


什么是Vue

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

与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合,另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。

Vue的技术栈包括:◼Node.js ◼ Webpack ◼ Vue.js ◼ Vue-CLI ◼ Vue-Router ◼ Vuex ◼ Axios ◼ Element UI

Node.js

◼ Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,使用了一个事件驱动、非阻塞式 I/O 的模型。

◼ Node 是一个让 JavaScript 运行在服务端的平台。

◼ npm 是随同 NodeJS 一起安装的包管理工具

Webpack

Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进

行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。

在这里插入图片描述

Vue.js

Vue.js 是一个轻巧、高性能、可组件化的 MVVM (Model-View-ViewModel)库。

M(odel)层:数据模型层。定义数据结构,建立应用的抽象模型。

V(iew)-M(odel)层:视图模型层。将Model层的抽象模型转换为视图模型用于展示,同时将视图交互事件绑定到Controller层的数据更新接口上。

V(iew)层:视图层,也就是用户界面,前端主要由HTML和CSS来构建。将视图模型通过特定的GUI展示出来,并在GUI控件上绑定视图交互事件。

在这里插入图片描述◼ MVVM 将数据双向绑定(data-binding)作为核心思想,M-VM-V会更容易直观地理解。View 和 Model 之间没有联系, View-Model作为胶水层,把视图View和数据模型Model粘合在一起,它们通过 ViewModel 这个桥梁进行交互。◼  Model 和 ViewModel 之间的交互是双向的,当用户操作 View,ViewModel 感知到变化,然后通知 Model 发生相应改变。◼ 反之当 Model 发生改变,ViewModel 也能感知到变化,使 View 作出相应更新。

Vue-CLI

Vue-CLI 是 Vue 项目开发的快速构建工具(项目脚手架)

◼ 通过 @vue/cli 实现的交互式的项目脚手架。

◼ 通过 @vue/cli + @vue/cli-service-global 实现的零配置原型开发。

◼ 一个运行时依赖 (@vue/cli-service),该依赖: 可升级; 基于 webpack 构建,并带有合理的默认配置; 可以通过项目内的配置文件进行配置; 可以通过插件进行扩展。

◼ 一个丰富的官方插件集合,集成了前端生态中最好的工具。

◼ 一套完全图形化的创建和管理 Vue.js 项目的用户界面

Vue-Router

Vue-Router 是 Vue.js 官方的路由管理器

Vue-Router包含的功能有:

◼ 嵌套的路由/视图表

◼ 模块化的、基于组件的路由配置

◼ 路由参数、查询、通配符

◼ 基于 Vue.js 过渡系统的视图过渡效果

◼ 细粒度的导航控制

◼ 带有自动激活的 CSS class 的链接

◼ HTML5 历史模式或 hash 模式,在 IE9 中自动降级

◼ 自定义的滚动条行为

VueX

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

◼ Vuex采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

◼ Vuex 可以帮助管理共享状态,如果不打算开发大型单页应用,就不要使用.

在这里插入图片描述  

Axios

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

Axios 主要是用于向后台发起请求。主要功能有

◼ 从浏览器中创建 XMLHttpRequests

◼ 从 node.js 创建 http 请求

◼ 支持 Promise API

◼ 拦截请求和响应

◼ 转换请求数据和响应数据

◼ 取消请求

◼ 自动转换 JSON 数据

◼ 客户端支持防御 XSRF

在这里插入图片描述  

Element UI

Element UI 是一套采用 Vue  作为基础框架实现的 UI 组件库,能帮

助网站快速成型。

在这里插入图片描述  

Vue的整体架构设计

  在这里插入图片描述  

搭建Vue3项目

安装Node.js

参考:https://blog.csdn.net/Small_Yogurt/article/details/104968169,其中的第十步不同做。

查看是否安装成功:

进入cmd命令提示符窗口,输入以下命令:

#查看node.js 版本
 node-v
 #查看npm 版本
 npm-v
 # 升级或安装 cnpm
 npm install cnpm -g
 #升级 npm
 cnpm install npm -g
 ```
在用 Vue.js 构建**大型应用时推荐使用 cnpm 安装**,cnpm 能很好地和 Webpack 或 Browserify 模块打包器配合使用。
## 安装 Vue CLI 
对于 Vue 3,你应该使用 npm 上可用的 Vue CLI v4.5 作为 @vue/cli。要升级,你应该需要全局重新安装最新版本的 @vue/cli,同样在命令行中输入以下指令:

powershell

使用cnpm安装 vue-cli

cnpm install -g @vue/cli

安装完后查看版本,高于@vue/cli 4.5.10则没问题

vue --version

更新一下

vue upgrade --next

```

注意:vue-cli 3.x 和 vue-cli 2.x 使用了相同的 vue 命令,如果你之前已经安装了 vue-cli 2.x,它会被替换为 Vue-cli 3.x。

至此Vue3已经全部配置成功。

创建 Vue 3项目

◼ 首先创建一个存放所有 Vue 项目文件夹(工作区):vueworkspace

◼ 然后在该文件夹(工作区)输入cmd打开命令行窗口

◼ 输入:vue create demo

在这里插入图片描述◼ 选择第二项Vue3进行项目创建,第一次创建推荐使用第三项手工创建(选择默认第二项Vue3配置的可以跳过手工创建)

手工创建(可省略)

◼ 第一步:使用空格键选择如下 6 项:

Choose Vue version、Babel、Router、Vuex、CSS Pre-processors、Linter/Formatter

在这里插入图片描述◼ 第二步:版本号选择3.x 在这里插入图片描述◼ 第三步:提示是否使用 "history router(Y/n)",建议选 n 在这里插入图片描述备注:Vue-Router 利用了浏览器自身的 hash 模式(默认)和 history 模式的特性来实现前端路由(通过调用浏览器提供的接口)。 history模式:URL 就像正常的 url,如 http://localhost:8088/getUser/1 hash 模式:有个#号,如 http://localhost:8088/#/getUser/1 这里建议选n。这样打包出来丢到服务器上可以直接使用了,后期要用的话,也可以自己再开起来。选yes的话需要服务器那边再进行设置。◼ 第四步:选择css 预处理器,选择"Less" (看个人爱好) 在这里插入图片描述◼ 第五步:选择 JS 代码检测工具,推荐使用ESLint + Prettier 在这里插入图片描述◼ 第六步:选择什么时候进行代码规则检测,选择 "Lint on save" 表示代码保存时就检测。 在这里插入图片描述◼ 第七步:选择如何存放配置,选择 "In package.json" ,表示所有配置放package.json 文件里。 在这里插入图片描述◼ 第八步:选择是否保存当前创建项目的配置以备后用,输入yes或者n都可以。(我这里选择yes) 在这里插入图片描述等待项目进行创建。

创建成功如下图所示:

在这里插入图片描述

可视化创建工具来创建项目(可忽略)

除了使用 vue create 命令创建项目,我们还可以使用可视化创建工具来创建项目。

◼ 第一步:在工作区运行命令:vue ui

在这里插入图片描述

◼ 第二步:点击"创建"选项来创建一个项目,选择底部"在此创建项目",页面上方也可以选择路径

在这里插入图片描述

◼ 第三步:然后输入项目名称,选择包管理工具为 npm,然后点击下一步

在这里插入图片描述

◼ 第四步:选择预设配置或者之前我们已经设置好的配置

在这里插入图片描述

等待安装完成

在这里插入图片描述

等待几秒后,就可以看到新项目创建成功。管理界面如下:

在这里插入图片描述

启动Vue3项目

◼ 输入cd demo 进入demo项目目录

◼ 输入npm run serve :启动项目

◼ 如果需要终止服务就按 Ctrl+C

在这里插入图片描述

启动成功:

在这里插入图片描述

然后打开 http://localhost:8080/,就可以看到应用界面了:

在这里插入图片描述

至此你就成功配置和搭建好了Vue3项目。

下次如果想启动demo项目,只需要进入文件夹或者工作区,输入cd demo进入demo项目,然后输入npm run serve 就可以启动项目了。

在这里插入图片描述

相关文章
|
3天前
|
JavaScript
Vue中如何设置在执行删除等危险操作时给用户提示(二次确认后执行对应的操作)
这篇文章介绍了在Vue项目中如何实现执行删除等危险操作时的二次确认机制,使用Element UI的`el-popconfirm`组件来弹出确认框,确保用户在二次确认后才会执行删除操作。
Vue中如何设置在执行删除等危险操作时给用户提示(二次确认后执行对应的操作)
|
3天前
|
JavaScript
如何创建一个Vue项目(手把手教你)
这篇文章是一篇手把手教读者如何创建Vue项目的教程,包括使用管理员身份打开命令行窗口、找到存放项目的位置、通过vue-cli初始化项目、填写项目信息、进入项目目录、启动项目等步骤,并提供了一些常见第三方库的引入方法。
如何创建一个Vue项目(手把手教你)
|
3天前
|
前端开发
StringBoot+Vue实现游客或用户未登录系统前、可以浏览商品等信息、但是不能购买商品或者加入购物车等操作。登录系统显示用户的登录名(源码+讲解)
这篇文章介绍了使用StringBoot+Vue实现用户登录状态判断的方法,包括前端加载用户信息和后端设置session的源码示例。
|
3天前
|
JavaScript
在Vue中使用Avue、配置过程以及实际应用
这篇文章介绍了作者在Vue项目中集成Avue组件库的完整过程,包括安装、配置和实际应用,展示了如何利用Avue实现动态表单和数据展示的功能。
在Vue中使用Avue、配置过程以及实际应用
|
3天前
|
JavaScript 算法 API
Vue 3有哪些新特性
【8月更文挑战第16天】Vue 3有哪些新特性
15 1
|
3天前
|
JavaScript
如何在Vue页面中引入img下的图片作为背景图。../的使用
这篇文章介绍了在Vue页面中如何引入`img`目录下的图片作为背景图,提供了两种使用相对路径的方法。第一种是使用`../assets/img/`作为路径引入图片,第二种是使用`../../assets/img/`作为路径。文章还展示了使用这些方法的代码实现和效果展示,并鼓励读者学无止境。
如何在Vue页面中引入img下的图片作为背景图。../的使用
|
3天前
|
JavaScript
如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)
该博客文章介绍了如何在Vue 2框架下实现前后端分离的商品信息展示和详情页跳转,包括排序筛选、详情展示、加入购物车和分享功能。
如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)
|
3天前
|
JavaScript
在Vue中使用Swiper轮播图、同时解决点击轮播图左右切换按钮不生效的问题、同时将轮播图抽离出为一个公共组件
这篇文章介绍了在Vue中如何使用Swiper插件创建轮播图,解决Swiper左右切换按钮不生效的问题,并展示了如何将Swiper轮播图抽离成一个可复用的公共组件,同时提供了详细的安装、配置和优化建议。
在Vue中使用Swiper轮播图、同时解决点击轮播图左右切换按钮不生效的问题、同时将轮播图抽离出为一个公共组件
|
3天前
|
JavaScript
Vue学习之--------插槽【默认插槽、具名插槽、作用域插槽】
这篇文章详细介绍了Vue.js中的插槽概念,包括默认插槽、具名插槽和作用域插槽的使用方式和实际应用示例,通过代码演示了如何在组件中定义和使用插槽来实现内容的灵活替换和展示。
Vue学习之--------插槽【默认插槽、具名插槽、作用域插槽】
|
3天前
|
JavaScript
如何查看Vue使用的版本
这篇文章介绍了如何在项目中查看Vue及其相关库的版本信息,比如element-ui和element-china-area-data。要查看Vue的版本,需要查看项目中的`package.json`文件,在`dependencies`部分可以找到Vue的版本号。如果需要查询不同版本的兼容性,可以访问相应的官方文档或资源网站。