Vite-vue3 架构设计

基础信息

Gitee项目地址:https://gitee.com/pengchenggang/vite-vue3

1 创建vite-vue3 初始化脚本

$ npm init vite-app vite-vue3

$
cd vite-vue3 //进入项目目录

$ npm install //安装项目所需依赖

$ npm run dev //启动项目

这里由于是新建的gitee项目,所以我找了一个临时目录初始化,然后又copy回vite-vue3目录。

启动项目后,如下图。

2 安装TypeScript

2.1 安装ts && 生成 tsconfig.json

cnpm install typescript --save-dev

命令行运行tsc --init生成tsconfig.json文件

Tsconfig.json 帮助文档

https://www.tslang.cn/docs/handbook/tsconfig-json.html

2.2 安装vue3下ts的插件

cnpm install @vue/cli-plugin-typescript --save-dev

2.3 vue.config.js添加支持ts

2.4 typescript-eslint 3个插件

cnpm install @typescript-eslint/eslint-plugin @typescript-eslint/parser --save-dev

cnpm install @vue/eslint-config-typescript --save-dev

2.5 添加.eslintrc.js

2.6 vscode setting.json 配置自动eslint格式化

教程参考:

ts官方中文手册

https://www.tslang.cn/docs/handbook/basic-types.html

掘金ts小册

https://juejin.cn/book/6844733813021491207

参考文档:

vue3项目中加入typescript https://www.jianshu.com/p/35eab26d7db0

3 安装Router4.0

Router官方网站:

https://github.com/vuejs/vue-router-next

cnpm install –save vue-router@4

这里由于有@,所有--save要往前提
要不安装不成功

4 安装Vuex4.0

官方地址:

https://github.com/vuejs/vuex/tree/4.0

vuex4.0 说明文档:

https://next.vuex.vuejs.org/

安装命令:

cnpm install --save vuex@next

5 Vue 3 Babel JSX 插件

https://github.com/vuejs/jsx-next/blob/dev/packages/babel-plugin-jsx/README-zh_CN.md

安装插件

cnpm install @vue/babel-plugin-jsx -D
Then add the plugin to .babelrc:
{
  "plugins": ["@vue/babel-plugin-jsx"]
}

Vue 3.0中jsx语法的使用

https://www.jb51.net/article/199650.htm

这里有说vue3 原生支持jsx,还有说是装插件,反正现在能用了,下次起架子的时候再分析。

6 安装ElementPlus

https://element-plus.gitee.io/#/zh-CN/component/installation

cnpm install element-plus –save

在jsx需要单独从新引入,在template下直接使用,因为main.ts已经导入了。

7 其他问题

7.1 发布子目录

"build":
"vite build --base=/vite-vue3/"

Vite-vue3 架构设计的更多相关文章

  1. 基于Vue3+TS的Monorepo前端项目架构设计与实现

    写在前面 你好,我是前端程序员鼓励师岩家兴!去年在另一个项目https://juejin.cn/post/7121736546000044046中,我向读者朋友们介绍了结合npm包管理工具yarn作v ...

  2. 手把手带你实现基于 Vite+Vue3 的在线Excel表格系统

    今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统. 在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3. Vue3 2020年09月18日Vue.js 3.0发布, ...

  3. 如何开发一款基于 Vite+Vue3 的在线表格系统(上)

    今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统. 在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3. Vue3 Vue是什么?大多前端开发者对这个词已毫不陌生了 ...

  4. 如何开发一款基于 vite+vue3 的在线表格系统(下)

    在上篇内容中我们为大家分享了详细介绍Vue3和Vite的相关内容.在本篇中我们将从项目实战出发带大家了解Vite+Vue3 的在线表格系统的构建. 使用Vite初始化Vue3项目 在这里需要注意:根据 ...

  5. 浅谈 jQuery 核心架构设计

    jQuery对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的核心架构设计,以及jQuery 是如何利用javas ...

  6. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  7. 解构C#游戏框架uFrame兼谈游戏架构设计

    1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...

  8. VICA 架构设计(1)

    本文记录最近完成的一个通用实时通信客户端的架构.   背景 我们公司是做税务相关的软件,有针对大客户 MIS 系统,也有针对中小客户的 SaaS 平台.这些系统虽然都是 B/S 的,但是也需要使用 A ...

  9. 一种简单的CQRS架构设计及其实现

    一.为什么要实践领域驱动? 近一年时间我一直在思考一个问题:"如何设计一个松耦合.高伸缩性.易于维护的架构?".之所以有这样的想法是因为我接触的不少项目都是以数据库脚本来实现业务逻 ...

  10. 基于token的多平台身份认证架构设计

    基于token的多平台身份认证架构设计 1   概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情. 随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格 ...

随机推荐

  1. Mac 下安装 mysqlclient

    brew install mysql export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/ ...

  2. 自己封装的 Python 常用工具库(prestool)

    一.安装 需Python 版本建议 3.7 以上 pip install --upgrade prestool 二.常用工具 from prestool.Tool import Tool tool = ...

  3. 【STL源码剖析】list::sort真的好用吗?Centos7-Linux环境g++Release下vector数组排序和list排序效率测试【超详细的注释和解释】

    说在前面的话 在使用C++的标准模板库的一些容器时,我们难免会遇到给序列排序的问题. 在学习list的时候,我们可能会了解到,algorithm::sort其实不是万能的. 当我们要给list排序的时 ...

  4. 【实用小技巧】RSA非对称加解密及XML&PEM格式互换方案

    ​ 最近因考虑接口安全问题,有实现给WEB API实现统一的参数鉴权功能,以防止请求参数被篡改或重复执行,参数鉴权方法基本与常见的鉴权思路相同,采用(timestamp+sign),而我为了防止tim ...

  5. 全世界 LoRA 训练脚本,联合起来!

    来自社区的 SD-XL Dreambooth LoRA 微调最佳实践指南 太长不看版 我们把 Replicate 在 SDXL Cog 训练器中使用的枢轴微调 (Pivotal Tuning) 技术与 ...

  6. 小知识:grep过滤以#号开头的注释行 和 空行

    xtts的配置文件,有很多注释不想直接去掉的情况下,想清楚的看到目前设置了哪些参数,可以用grep过滤查看: grep -vE '^#|^$' xtt.properties 效果如下: [oracle ...

  7. vue 导出多页pdf, window.print()实现

    如果你对分页打印没思路,而网上的现成方案又不适合,不妨进来看看,也许会对你有帮助. 由于工作环境是局域网,对于插件的安装有限制,所以排除了jspdf + html2canvas的实现方式:采用wind ...

  8. NC22600 Rinne Loves Dynamic Graph

    题目链接 题目 题目描述 Rinne 学到了一个新的奇妙的东西叫做动态图,这里的动态图的定义是边权可以随着操作而变动的图. 当我们在这个图上经过一条边的时候,这个图上所有边的边权都会发生变动. 定义变 ...

  9. Redis缓存相关的几个问题

    1  缓存穿透 问题描述 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力. ...

  10. Js模块化导入导出

    Js模块化导入导出 CommonJs.AMD.CMD.ES6都是用于模块化定义中使用的规范,其为了规范化模块的引入与处理模块之间的依赖关系以及解决命名冲突问题,并使用模块化方案来使复杂系统分解为代码结 ...