我用前端【最新】技术栈完成了一个生产标准的项目【Vue3 + TS + Vite + Pinia + Windicss + NavieUI】

简介: 前言聊一下自己使用这些技术的一些体会与心得,不做具体的搭建过程了,说一下工程的设计思想与遇到了哪些问题。

前言

聊一下自己使用这些技术的一些体会与心得,不做具体的搭建过程了,说一下工程的设计思想与遇到了哪些问题。

项目背景

最近一直在忙一个EPR系统的开发,新项目之前团队的技术栈基本停留于Vue2 + Js + Webpack + Vuex 上,但是Vue生态其实已经可以说进入了次时代,虽然我个人其实不是很倡议盲目的去追赶新的框架,因为我觉得先把自己手头的技术掌握扎实才是重中之重,团队的同学绝大多数是一些基本的开发程序员,初级较多。但是学习还是有必要的,那么学习后就需要一个成熟的项目,体系完整的项目来巩固一下自己学的知识,借此机会,向部门CTO提出使用Vue3 + TS + Vite + Pinia + Windicss + NavieUI进行新项目的开发,审批通过!

设计

团队协作

Plugin

有效利用esLintprettierhusky以及commitizen,因为使用了TypeScript+ esLint所以对代码的书写规范、类型、接口的使用必须有很高的要求,如果使用了不当的类型或者书写不规范,第一会导致代码提交到远程再到其他同学本地,会出现很多的error,对这种情况,我们可以在git提交的钩子中进行代码的per-commit,在这个阶段,主要是进行lint&typecheck操作,而且在进行typecheck的时候一定要加noEmit,禁止有error的代码提交,同时使用commitizen规范git commit的信息,遵守augular规范。

Editor

编辑器集体更换为VSCode,团队中有使用webstorm的同学,也强制更换编辑器,如果进行Vue3的开发,一定要记得禁用vetur插件,使用volar进行开发。

UI

因为项目比较着急,所以没有让UI出图,这个对我来说,确实不是什么大问题「手动狗头」,因为自己也有过很多次脱离UI进行开发的经验,虽然不如专业UI设计师做出来好看,但是也还不错,得到了部门领导&老板的大力认可,放一个 栗子,这个项目是用Nuxtjs搞得,嘻嘻。但是之前都是自己去弄,这次因为比较着急,而且工作内容比较多,所以必须得拉上小伙伴一起了,就面临了一个问题,那就是如何统一设计风格的问题,于是想到了tailwindcss,调研的过程中,又发现了windicss,相对于前者,后者的体积更小,但是文档不太友好,因为...你完全可以参照前者的文档,而是用后者进行开发,哈哈,使用windicss&NavieUI统一好theme,给伙伴们的要求是,不要在工程中自己写css,因为7个人一块开发一个没有UI稿的项目,每个人的想法都不同。到现在提测为止,项目中没有出现过component css,整体页面风格十分统一。

项目工程

assets

存放一些公共的Image & SVG 等资源

components.common

全局公共组件

components.business

全局业务组件

const.commen

全局公共常量

const.business

全局业务常量

directives.xxx.ts

自定义指令【permissions】【network】...

enum

全局枚举值

filter

全局过滤函数(Vue3没有提供filter)

hooks.common

全局逻辑复用

hooks.business

业务逻辑复用

layouts

布局组件

service.api

API

service.request

axios请求拦截器

typings.xxx.d.ts

全局namespace & interface

utils

工具库

结语

以上就是项目部分的设计,主要是目录结构,具体的代码太多了,没有时间写,等有时间了写一个系列吧。

预览

LIST

网络异常,图片无法展示
|


FORM

网络异常,图片无法展示
|


目录
相关文章
|
1月前
|
JavaScript 前端开发
vue前端下载,实现点击按钮弹出本地窗口,选择自定义保存路径
这个不用代码实现(网上也找不到方法可以调出另存为窗口),更改浏览器设置就可以,否则,现在的浏览器都是默认直接保存到下载路径中
65 3
|
1月前
|
JavaScript 前端开发 API
构建高效前端技术栈
构建高效前端技术栈
26 0
|
1月前
|
资源调度 前端开发 JavaScript
构建高效前端项目:现代包管理器与模块化的深度解析
【2月更文挑战第21天】 在当今快速演变的前端开发领域,高效的项目管理和代码组织已成为成功交付复杂Web应用的关键。本文将深入探讨现代前端包管理器如npm, yarn和pnpm的工作原理,以及它们如何与模块化编程实践(例如CommonJS、ES6模块)协同工作以优化开发流程。我们将剖析这些工具的内部机制,了解它们如何解决依赖冲突,提高安装速度,并保证项目的健壮性。同时,本文还将介绍模块化编程的最佳实践,包括代码拆分、重用和版本控制,帮助开发者构建可维护且性能卓越的前端项目。
|
1月前
|
JavaScript
vue-cli创建vue3+ts项目
vue-cli创建vue3+ts项目
37 0
|
23天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
95 0
|
2天前
|
缓存 安全 JavaScript
前端安全:Vue应用中防范XSS和CSRF攻击
【4月更文挑战第23天】本文探讨了在Vue应用中防范XSS和CSRF攻击的重要性。XSS攻击通过注入恶意脚本威胁用户数据,而CSRF则利用用户身份发起非授权请求。防范措施包括:对输入内容转义、使用CSP、选择安全的库;采用Anti-CSRF令牌、同源策略和POST请求对抗CSRF;并实施代码审查、更新依赖及教育团队成员。通过这些实践,可提升Vue应用的安全性,抵御潜在攻击。
|
6天前
|
NoSQL JavaScript 前端开发
报错场景:ant design vue前端登录时,输入的验证码是对的,但是一直提上验证码错误,登录不进去 报错信息(Error in execution; nested exception)
报错场景:ant design vue前端登录时,输入的验证码是对的,但是一直提上验证码错误,登录不进去 报错信息(Error in execution; nested exception)
18 0
|
8天前
|
JavaScript
vue3+vite项目配置ESlint
vue3+vite项目配置ESlint
12 0
|
8天前
乾坤子应用配置(vue3+vite)
乾坤子应用配置(vue3+vite)
13 0
|
14天前
|
JavaScript 前端开发 API
游戏开发入门:Python后端与Vue前端的协同工作方式
【4月更文挑战第11天】使用Python后端(Flask或Django)和Vue.js前端开发游戏变得流行,能提高开发效率和可维护性。本文指导如何构建这样的项目,包括设置环境、创建虚拟环境、搭建后端API及前端Vue组件,强调前后端协作和API接口的重要性。这种架构促进团队合作,提升代码质量和游戏体验。