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

相信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之后,根据项目提示,接下来会让你选择一个预设:

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

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

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

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实例 

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

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

  • Use history mode for router?

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

  • Pick a CSS pre-processor?

选择一种css 预处理器, 在这里我选择less 

  • Pick a linter / formatter config?

选择一种代码格式化检测工具 

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 提交时检查; 我选择, 保存时检查 

  • Pick a unit testing solution?

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

  • Where do you prefer placing config for Babel, PostCSS, ESLint, etc.?

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

  • Save this as a preset for future projects?

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

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

 

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

 相比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完整的项目搭建过程就完成,后面我会单独分享Vue3.0中vue.config.js 的配置; 文章中有错误的地方,欢迎提出指正,感谢大家

如何搭建一个完整的Vue3.0 + ts 的项目相关推荐

  1. 如何开发和搭建一个优质的Web3.0/区块链项目?

    在区块链世界和加密领域中.Web3绝对算得上是一个耀眼的明星了,现在的风头明显盖过前两位老大哥了. 相信许多人也都想尝试熟悉或者参与区块链,加密领域和Wed3之中,今天我们就来谈谈如何以软件开发的角度 ...

  2. vue3.0+ts+element-plus多页签应用模板:项目搭建

    目录 系列文章 一.安装vue-cli@4.5.x 二.创建项目 三.项目配置 四.IDE配置 五.vue.config.js配置 六.重置浏览器默认样式 系列文章 vue3.0+ts+element ...

  3. 【React进阶-1】从0搭建一个完整的React项目(入门篇)

    这篇文章带领大家从零开始手动撸一个React项目的基础框架,集成React全家桶.万字长文,请各位有足够的时间时再来阅读和学习. 概述 平时工作中一直在用React提供的脚手架工具搭建React项目, ...

  4. react全家桶从0搭建一个完整的react项目(react-router4、redux、redux-saga)

    react全家桶从0到1(最新) 本文从零开始,逐步讲解如何用react全家桶搭建一个完整的react项目.文中针对react.webpack.babel.react-route.redux.redu ...

  5. vue3.0+ts+element-plus多页签应用模板:element-plus按需引入与动态换肤

    目录 系列链接 一.安装element-plus 二.按需引入 1. 为什么要按需引入? 2. 如何按需引入? 3. 验证是否引入成功 三.动态换肤 1. 制作自定义主题 2. 引入自定义主题 3. ...

  6. vue3.0+ts+element-plus多页签应用模板:侧边导航菜单(上)

    目录 系列文章 一.先说点什么 二.从问题开始,侧边栏是干啥的? 三.封装组件之思路分析 四.封装菜单部分 1. MenuItem 2. ModuleMenu 系列文章 vue3.0+ts+eleme ...

  7. vue3.0+ts+element-plus多页签应用模板:多级路由缓存

    目录 系列文章 一.先说点啥 1. 为啥需要路由缓存? 2. 怎么实现路由缓存? 二.路由扁平化 三.定义tag模块处理路由缓存 四.切换路由时加入缓存 五.使用keep-alive 系列文章 vue ...

  8. 线上redis一般安在linux_Redis企业级应用-Linux安装搭建一个完整的linxu线上服务(上)...

    我们在做项目的时候经常会遇到很多性能的问题,也成为整个系统优化最疼痛的问题,主要还是因为在用户量大的时候或者就是说高并发访问的时候,我们系统的数据库会有一个限制.当然也可以通过对数据库的优化对系统进行 ...

  9. 利用vue-cli配合vue-router搭建一个完整的spa流程

    好文章备忘录: 转自:https://segmentfault.com/a/1190000009160934?_ea=1849098 demo源码:https://github.com/1590123 ...

最新文章

  1. Python 自动化办公之 Excel 对比工具
  2. arm下如何烧写指定分区大小的内核和文件系统
  3. raid操作相关命令笔记
  4. 秒杀多线程第七篇 经典线程同步 互斥量Mutex
  5. android 搜索工具栏,Android记事本在菜单栏添加搜索按钮方法
  6. php注册树模式,PHP设计模式之详记注册树模式
  7. 你和高级开发的距离,可能还缺这个技术框架……
  8. Linux 进程信号详细总结
  9. Python windows serial
  10. 打开和禁用IPV6的方法
  11. java写入excel乱码_Java导出Excel解决乱码及导出文件打开不可读需修复的问题
  12. 数据挖掘工程师笔试及答案整理
  13. vscode设置豆沙绿护眼色
  14. 安卓开发 监听虚拟按键_Android 虚拟按键适配动态调整布局的方法
  15. Android开发之视频播放器
  16. 个人总结之前端技巧-----页面的设计流程
  17. Swagger接口测试工具。
  18. python安装h5py
  19. 文件、目录管理(一)
  20. Suomi NPP VIIRS夜间灯光遥感数据简介与下载(一)——数据介绍,FTP下载与hdf5读取

热门文章

  1. 左右xcode的重构选项的一些理解
  2. 教你在Ubuntu上体验Mac风格
  3. AbstractEndpoint 和 ProtocolHandler
  4. Xml中SelectSingleNode方法中的xpath用法
  5. 《Spring Recipes》第二章笔记:Creating Beans by Invokin...
  6. Angular项目目录介绍
  7. element表格实现树形全选_很实用!word中全选的快捷键介绍及使用方法
  8. mysql压力写入测试_mysql压力测试工具
  9. 面向多媒体 linux 版本,基于MX Linux 的 AV Linux 新版发布,此AV非彼AV
  10. java map class_Java:声明一个包含两个相关泛型类型的Map(Map,Class ?extends ClassB )...