如何搭建一个完整的Vue3.0+ts的项目步骤


Posted in Javascript onOctober 18, 2020

相信9月18日尤大大的关于Vue3.0的发表演讲大家一定有所关注,现在Vue3.0 也已经进入RC阶段(最终产品的候选版本,如果没有问题则可发布成为正式版本)。所以Vue3.0的学习是我们必然的趋势,今天,主要分享一下Vue3.0的详细搭建过程,希望可以为初入Vue3的小伙伴有所帮助。

我们现在开始进入今天的主题啦~~

一、安装

1. 安装nodejs

此处提供nodejs下载地址: https://nodejs.org/zh-cn/download/

大家根据自己电脑的配置选择适配的 LTS(最新稳定版本 进行下载,安装即可,此处略去安装步骤。

 2.卸载旧版本

如果你现在正在用旧版的 Vue-cli1.x 或者 Vue-cli2.x 需要先进行卸载;如果没有,请忽略此步骤

打开命令窗口,用以下命令进行卸载:

npm uninstall vue-cli -g

3.安装Vue-cli 3.x

搭建Vue3.0的项目,必须依赖 Vue-cli 3.0 或者以上的版本,打开命令窗口,通过以下命令进行安装和查看版本号:

// 安装最新版的vue-cli
npm install -g @vue/cli  
// 查看版本号
vue -V

二、项目搭建过程

1.新建项目,以下我新建一个名称为my-demo的项目

vue create my-demo

2.enter之后,根据项目提示,接下来会让你选择一个预设:

如何搭建一个完整的Vue3.0+ts的项目步骤

  • newTs : 在项目创建完成的最后,会询问你需不需要保持本次配置,方便下次直接使用;这个newTs就是我之前保存好的一个预设配置
  • Default:默认的预设配置,会快速构建一个项目,提供了babel和eslint的支持
  • Manually select features:手动进行项目配置,可以根据项目的需要选择合适的依赖,具备更多的选择性,以下步骤,我将会采用该种方式。

3. Vue-cli3.x 将提供以下特性供选择,大家可以根据项目需要进行选择添加的配置项:

通过上下键进行配置项切换,对需要选择的配置项使用空格键进行选中/反选

如何搭建一个完整的Vue3.0+ts的项目步骤

  • Babel:使用babel,便于将我们源代码进行转码(把es6=>es5)
  • TypeScript:使用TypeScript进行源码编写,使用ts可以编写强类型js,对我们的开发有很大的好处
  • Progressive Web App(PWA):使用渐进式网页应用(PWA)
  • Router:使用vue-router
  • Vuex:使用vuex状态管理器
  • CSS Pre-processors:使用CSS预处理器,比如:less,sass等
  • Linter/Formatter:使用代码风格检查和格式化
  • Unit Testing:使用单元测试
  • E2E Testing:使用E2E测试, end to end(端到端)是黑盒测试的一种

4.然后对每个选中的配置项进行配置

Use class-style component syntax? (Y/n)

是否使用Class(类)风格装饰器, 即通过export default class Home extends Vue{} 创建Vue实例

如何搭建一个完整的Vue3.0+ts的项目步骤 

Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? (Y/n)

使用Babel做转义, 与TypeScript一起用于自动检测

如何搭建一个完整的Vue3.0+ts的项目步骤 

Use history mode for router?
路由模式, 是否选择history模式,启用history模式,项目build之后,可能会出现打开页面空白的情况哦

如何搭建一个完整的Vue3.0+ts的项目步骤 

Pick a CSS pre-processor?
选择一种css 预处理器, 在这里我选择less

如何搭建一个完整的Vue3.0+ts的项目步骤 

Pick a linter / formatter config?
选择一种代码格式化检测工具

如何搭建一个完整的Vue3.0+ts的项目步骤

TSLint: ts格式检验工具
ESLint with error prevention only: ESLint 只会进行错误提醒
ESLint + Airbnb config: ESLint Airbnb标准
ESLint + Standard config: ESLint Standard 标准
ESLint + Prettier: ESLint(代码质量检测)+ Prettier(代码格式化工具)

Pick additional lint features?
代码检查方式: 保存时检查 or 提交时检查; 我选择, 保存时检查

如何搭建一个完整的Vue3.0+ts的项目步骤 

Pick a unit testing solution?
选择一种单元测试的方案,目前Vue官方推荐也是jest, 相比而言, 配置简单容易上手, 建议选择Jest啦

如何搭建一个完整的Vue3.0+ts的项目步骤 

Where do you prefer placing config for Babel, PostCSS, ESLint, etc.?
Babel, PostCSS, ESLin等配置文件怎么存放, 是放到单独的配置文件中?还是package.json里? 这里方便配置清晰好看, 我选择每个配置单独文件。

如何搭建一个完整的Vue3.0+ts的项目步骤 

Save this as a preset for future projects?
是否需要保存当前配置,在以后的项目中可快速构建? 保存后, 后续创建项目时可以直接选择该配置, 不需单独配置

如何搭建一个完整的Vue3.0+ts的项目步骤 

5.配置完成后,等待依赖安装完成

如何搭建一个完整的Vue3.0+ts的项目步骤如何搭建一个完整的Vue3.0+ts的项目步骤

6.构建完成后,项目目录结构如下

如何搭建一个完整的Vue3.0+ts的项目步骤 

相比Vue2.x, Vue3.0的目录确实精简了很多, 而且我们会发现, Vue3.0不在有webpack.config.js的配置, 是因为Vue3.0 通过插件@vue/cli-service对webpack进行抽象处理, 并默认了webpack的配置。但是项目开发中,我们肯定会存在一些特殊的需求需要调整webpack, 当然这也是没有问题, 在Vue3.0当中, 可以通过在项目的根目录创建vue.config.js对webpack进行自定义配置。

关于vue.config.js 的配置我会单独写一篇文章进行分享

三、启动项目:

cd my-demo
npm run serve

如何搭建一个完整的Vue3.0+ts的项目步骤

至此,Vue3.0完整的项目搭建过程就完成,后面我会单独分享Vue3.0中vue.config.js 的配置; 文章中有错误的地方,欢迎提出指正,感谢大家,更多相关Vue3.0+ts项目步骤内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
Mar 05 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
Feb 03 Javascript
js特效,页面下雪的小例子
Jun 17 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
Dec 12 Javascript
jQuery拖拽 & 弹出层 介绍与示例
Dec 27 Javascript
javaScript基础语法介绍
Feb 28 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
Jun 20 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Dec 15 Javascript
JavaScript制作简单的框选图表
May 15 Javascript
JS实现求5的阶乘示例
Jan 21 Javascript
JavaScript两种计时器的实例讲解
Jan 31 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
Oct 11 Javascript
详解如何在Javascript中使用Object.freeze()
Oct 18 #Javascript
从表单校验看JavaScript策略模式的使用详解
Oct 17 #Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
Oct 17 #Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
Oct 16 #Javascript
DWR内存兼容及无法调用问题解决方案
Oct 16 #Javascript
JS pushlet XMLAdapter适配器用法案例解析
Oct 16 #Javascript
jQuery zTree如何改变指定节点文本样式
Oct 16 #jQuery
You might like
php split汉字
2009/06/05 PHP
php 文件上传实例代码
2012/04/19 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
django的ORM模型的实现原理
2019/03/04 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
财务管理职业生涯规划范文
2013/12/27 职场文书
出国签证在职证明
2014/09/20 职场文书
委托书格式要求
2015/01/28 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js