前端实战项目

——前端框架Vue3.0项目教程(一)Vue3.0环境的搭建

Vue是第三方开发的基于MVVM设计模式的渐进式纯前端js框架,是一个构建数据驱动的 web 界面的库。在很多公司的前端框架使用中,Vue做为一门技术流行开来,具备了虚拟DOM树,面向组件的开发模式和观察者模式等优点。

现在,Vue也进入了3.0的时代。

一、Vue3.0的特点


vue最主要的特点就是响应式机制、模板、以及对象式的组件声明语法,而3.0对这三部分都做了更改。

1、 响应式

响应式是基于Object.defineProperty实现的代理,兼容主流浏览器和ie9以上的ie浏览器,可以做到监听对象属性的增删和数组元素和长度的修改,还可以监听Map、Set、WeakSet、WeakMap,同时还实现了惰性的监听,不会在初始化的时候创建所有的Observer,而是会在用到的时候才去监听。

vue3.0做了实现机制的变更,采用ES2015的Proxy,不但解决了vue2.x中的问题,还是得性能有了进一步提升。虽然有一些兼容问题,但是通过适配的方式解决掉了。此外,还暴露了observable的api来创建响应式对象,可以替代掉event bus,来做一些跨组件的通信。

2、模板

模板方面没有大的变更,只改了作用域插槽,2.x的机制导致作用域插槽变了,父组件会重新渲染,而3.0把作用于插槽改成了函数的方式,这样只会影响子组件的重新渲染,提升了渲染的性能。

3、对象式的组件声明方式

vue2.x中的组件是通过声明的方式传入一系列option,和TypeScript的结合需要通过一些装饰器的方式来做,虽然能实现功能,但是比较麻烦。

3.0修改了组件的声明方式,改成了类式的写法,这样使得和TypeScript的结合变得很容易。

二、Vue3.0脚手架的安装


Vue3.0的环境首先需要安装node.js,可以通过node.js的官方网站中下载node.js。

下载网址:https://nodejs.org/zh-cn/download/

下载界面如下图所示。

安装后可以在cmd命令窗口中输出node的版本号,命令如下:

node –v

输入命令后的截图如下所示。

图中因为系统是windows7,所以版本方面采用12.16.3,现在很多node的最新版本支持windows8.0版本。

接下来安装vue-cli脚手架帮助我们建立vue项目,安装最新班的vue-cli脚手架命令如下。

npm install -g @vue/cli

三、使用 Vue3.0脚手架创建 Vue项目。


在公司开发具体项目时,需要在github上创建一个仓库更好地去管理代码。

接下来,在github上创建一个仓库myvue3demo,然后使用git的命令行格式下载myvue3demo3同步到本地。命令如下:

git clone git@github.com:wawacode/myvue3demo.git

上面引用的github地址为本人的github地址。

使用git clone时可能会发生如下错误:

出现错误原因没有publickey,在客户端启动git工具的git bash,出现git bash窗口。如下图所示。

在git bash窗口中输入ls ~/.ssh/看一下是否有内容,如果没有内容,则创建public key的内容,命令如下。

ssh-keygen -t rsa -b 2048 -C "你自己的邮箱地址"

修改邮箱地址为你自己的邮箱地址,注意此处邮箱地址前后的双引号为英文格式双引号;指令执行后页面提示:

    Generating public/private rsa key pair.Enter file in which to save the key (/c/Users/***/.ssh/id_rsa):

***表示你自己的当前登录用户名,不做修改直接回车,会将生成的rsa文件保存为默认名称

再次回车提示:

Enter passphrase (empty for no passphrase):
Enter same passphrase again: 

这里可以不设置密码,直接再回车提示

Your identification has been saved in.... 

即表示ssh key生成成功;

成功生成ssh key后将ssh key输入到git创建的仓库中,如下图。

图中已设置成功ssh-key。设置成功后可以通过cat ~/.ssh/查看刚刚命令产生的ssh key。如下图。

cat命令显示的内容就是public key,如果有public key就可以git clone后产生同名文件夹。如下图。

接下来使用脚手架初始化项目,vue-cli是vue的脚手架工具,帮助我们初始化代码的框架,同时添加一个依赖,例如运行时人依赖,如vue.js,vue-router等,还有开发者依赖,如webpack等。Vue脚手架工具的安装。

vue create  myvue3demo

这里vue创建的myvuedemo3项目与github上的同名。

执行命令后,出现界面如下。

选项中的第一句overwrite是覆写同名文件夹的意思,Merge是合并的意思,Cancel意思是取消。Cli脚手架会为我们创建一些文件,创建后是覆写还是合并就由这个选项来决定。如果要保留创建项目时保留的文件,就选择第二项合并。这里选择Merge合并。回车后出现的界面如下。

图中提供了vue2和vue3的默认设置,第一项Default([vue2],babel,eslint)默认vue2的设置,第二项Default([vue3],babel,eslint)默认vue3的设置,第三项表示Manually select features自定义选项设置,这里选择第三项自定义选项。出现界面如下。

界面中Choose Vue version是需要的,默认为星号表示被选择。Babel是需要的,默认为星号表示被选择,TypeScript这里涉及率不高,如果写一些库的时候是需要的。PWA使Web app有沉浸式体验这里也不需要。Router路由是需要的,可以使用键盘的空格来选择。Vuex表示Vue的状态管理器也是需要的,有利于管理复杂的项目,可以使用键盘的空格来选择,接下来的Linter/Formatter也是需要的,以便于ESLinter的代码规范,最后的两个Testing测试不需要选择。最终选择的界面如下图所示。

图中对选项设置后,就可以根据自定义的一步一步进行选择,首先会问你vue的版本。这里是3.0的版本,如下图所示。

回车后,接下来选择router的方式,是history的方式还是hash的方式,两种方式最直观的区别就是在url中 hash 带了一个很丑的 # 而history是没有#的。地址栏如http://www.abc.com/#/hello表示为hash模式,这里用hash模式,输入”n”,如下图所示。

回车后,接下来选择的是CSS的预处理器,有SACS,LESS和Stylus,根据使用css预处理器的习惯选择即可。

回车后,接下来代码的ESLinter,这里选择标准即可。如下图所示。

回车后,表示什么时候使用ESLint,这里选择保存时即可,也就是默认。如下图所示。

回车后,接下来的选项是配置在配置文件中,还是在package.json文件中。这里选择在配置文件中,如下图所示。

回车后,出现询问前面的配置是否保存,保存后在vue create创建vue项目时可以出现曾经保存的设置。这里做一个保存,以便后面使用。输入y,如下图所示。

上图中要求输入保存配置的名称,可以输入自定义的名字,回车后进行项目的创建过程,如下图所示。

Vue 3.0的项目就通过创建过程自动创建中。

项目安装运行结束后,出现界面如下图所示。

项目创建后,可以通过cd命令进行项目文件夹,再运行npm run serve来运行项目。如下图所示。

运行结束后,界面如下图所示。

这里通过界面可以看到相关提示。

本地可以通过http://localhost:8080/来访问项目地址.

网络可以通过http://192.168.1.107:8080/来访问项目地址。

在本地浏览器地址栏中输入http://localhost:8080/,输入后界面如下图所示。

由图可以看出,Vue3.0的项目已创建完毕。

四、Vue3.0脚手架创建项目的文件解释


脚手架最终产生的项目文件夹如图所示。

1、项目文件夹中的package.json很重要,当中的几个重要项目有Scripts,Dependencies,devDependencies。如下图所示。

(1)图中1标注的scripts中的内容意义在于:

当执行npm run serve,将会执行vue-cli-service.serve的命令,通过内置的服务来开启本地命令。

(2)图中2标注的dependencies当中是运行时依赖,也就是说当浏览器打开时会自动寻找Dependencies中的js。

(3)图中3标注的devDepenceis中表示的是开发时依赖,为了实现开发需要依赖于vue中的一些插件工具,最终不会在运行时打包。

也就是运行时需要的内容安装在Dependencies,开发时需要的内容安装在devDependencies中。

2、文件夹中的.browserslistrc表示浏览器兼容性的配置文件。

3、文件夹中的.editorconfig表示编辑器的配置文件,比如:

Indent_style=space表示缩进方式为空格,indent_size=2表示空格的长度为2等。

4、文件夹中的.eslintrc.js表示eslint的配置文件,如文件中extends后面的”@vue/standard”就是配置中的标准方式,“plugin:vue/vue3-essential”对模板编写使用一些lint等等。

5、文件夹中.gitignore文件表示文件中的内容是不会上传到github中的,比如node_modules中安装一堆的node模块,是不能上传到git中的。

6、文件夹中babel.config.js文件表示babel的一些配置,原有的内容是一些预设的内容。

7、文件夹中package-lock.json文件实现对npm管理中的版本的一个锁。如果初始化之后除非手动去升级这些版本,不然就不会去安装最新版本。

8、在文件夹下的node_modules中存储所有项目需要的插件。

9、在文件夹下的public中index.html就是项目的入口文件,当启动npm run serve时,就会在scripts中启动一个服务,这个服务就访问了这个index的文件,文件中有<%=htmlWebpackplugin.options.title%>实现在编译过程中的一部分工作。

10、在src下的main.js文件实现的index文件渲染页面的js文件。在main.js中通过createApp方法生成一个app实例,同时use是vue3使用的实例,默认使用store和router的实例,最后通过mount挂载在id为#app的div中渲染出来。

11、在src下的App.vue文件中通过router-link进行路由后面的内容,router-link的具体to参数地址可以在src文件夹中的router文件夹中的index.js中看到具体的路由规则。路由中指定path路径和component组件,在components目录中初始化有Hello.vue和About.vue两个vue组件。注意,在components有一个箭头函数的导入,如

Component:()=>import(“./views/About.vue”)表示的是异步加载的组件。

组件通过router路由的规则后就可以通过router-link来进行路由,路由后在访问时就会成为a标签。

12、Src目录中assets目录下的logo.png,就是访问vue3.0项目时的显示在界面中的logo标志。

前端实战项目:前端框架Vue3.0项目教程(一)Vue3.0环境的搭建相关推荐

  1. wap2.0有关windows mobile模拟器测试环境的搭建

    wap2.0有关windows mobile模拟器测试环境的搭建 2009年08月01日 星期六 19:38 理论上测试只需要支持wap2.0的模拟器即可,但是各款模拟器不尽相同,起初我用openwa ...

  2. 绿豆pro前端APP源码v5.1.7编译教程,后端配置全开源安装搭建全图文操作萝卜白菜app通用说明带视频教程_多啦咪

    绿豆pro前端APP源码v5.1.7编译教程全图文操作萝卜白菜app通用: 图文一: 打开前端加载项目后,选择图下文件名为app.java文件打开操作修改位置如下: public static Str ...

  3. php怎么安装ecshop,ECSHOP4.0安装教程【ECSHOP4.0安装流程方法】ECSHOP4.0安装步骤-ECSHOP教程网...

    ECSHOP教程网更新了最新ecshop4.0安装教程,为菜鸟提供详细图文ecshop4.0安装步骤,一步步教会大家如何ecshop4.0安装方法以及安装流程,让大家都会ecshop4.0安装. 大家 ...

  4. appserv mysql 密码_AppServ8.0安装教程,AppServ8.0安装后Mysql密码不对怎么办?

    4.默认全部选中的,直接点击下一步. 注如果想装逼,那第4个可以不安装: 1.Apache HTTP service PHP运行环境(必选项) 2.MYSQL database MYSQL数据库(必选 ...

  5. 前端实战|React18极客园——项目打包与优化

    欢迎来到我的博客

  6. retrofit 2.0 android 教程,初识Retrofit2.0

    Retrofit无疑是当下最流行的Android网络请求框架了,是Square提供的开源产品.官方网站是这样介绍Retrofit的--A type-safe HTTP client for Andro ...

  7. 【环境搭建】机械革命 1650 Ti + Win10 + CUDA 8.0安装教程 CUDA 8.0网盘链接

    用记忆拥抱着过去,用期望拥抱着未来. 文章目录 前言 一.已有条件 二.CUDA安装 1.下载渠道 2.安装过程 3.添加环境变量 3.测试 总结 前言 过年期间新买了一台"机械革命 Z3 ...

  8. Zabbix4.0 for PostgreSQL (上篇):基础环境的搭建部署

    概述 Zabbix大家都很熟悉,一般的是使用MySQL作为存储库来使用的,而我看使用手册上是使用postgresql也是可以的,所以就做了一次基于pg的zabbix搭建测试,记录下来,分享给大家 Se ...

  9. MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细

    在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程和遇到的问题都记录下来. 需要说明的一点是我使用的是SSH secure shell ...

  10. 5.1 上网本安装安卓x86_X86笔记本安装Android 4.0全教程 安卓4.0开发环境搭建

    Android 4.0让手机和平板电脑最终走到了一起,这是多么唯美的一件事,其实不仅仅有手机和平板,甚至连PC也与他们同路.日前Android for x86放出了最新的Android 4.0版,这也 ...

最新文章

  1. labVIEW与单片机实现串口通信的设计过程
  2. Interface Builder 和UIController的联系
  3. Android 人脸识别
  4. Timestamp、String、Date之间的转换
  5. 算法系列之五 希尔排序
  6. java - 百钱百鸡小算法
  7. Hive简单实际操作(二)
  8. python 堆栈溢出_IAR堆栈溢出的问题
  9. 使用HBuilderX将H5网页打包成APP
  10. 最优化学习 约束优化问题
  11. 温州大学计算机学硕考研难度,2020年温州大学计算机科学与技术考研经验分享...
  12. 外文论文查重怎么查?
  13. 遇到unhandled exception:怎么处理?
  14. python简单代码画皮卡丘-用python画一只可爱的皮卡丘
  15. Exception when searching pbo at initiating workflow manually: The operation: search failed.
  16. 【kaggle】印度语和泰米尔语问答赛题baseline
  17. 查看Oracle数据库版本号
  18. Android 控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
  19. 不用找了,50个备课网站一网打尽
  20. 小超模滕文泽 受邀担任第七届少儿模特明星盛典代言人

热门文章

  1. 适合android平板的浏览器,推荐5款安卓平板Pad版应用浏览器
  2. cuda 镜像_AMDamp;Intel双平台黑苹果镜像安装包Catalina 10.15.0(19A583)加强版
  3. C语言程序设计(谭浩强第五版)——例题
  4. matlab altera视频,Altera 官网中文视频教程 下载地址
  5. 软件评测师备考经验分享
  6. 网易云音乐推荐中的用户行为序列深度建模
  7. 2021第四届浙江省大学生网络与信息安全竞赛预赛部分Writeup
  8. 针对吞吐量优化的架构
  9. 用android编写使用按钮ImageButton和切换器ImageSwitcher
  10. 极品五笔自定义字库(jpwb.emb)