前两篇文章分享了基于 vite3 vue3 的组件库基础工程 vue3-component-library-archetype 和用于快速创建该工程的工具 yyg-cli,但在中大型的企业级项目中,通常会自主搭建这些脚手架或加速器.优雅哥希望每位前端伙伴能知其所以然,故接下来的文章将进入 Vue3 企业级优雅实战 系列,整个系列将包括五大部分: 首先会分享如何从 0 开始搭建一套组件库基础工程,即如何从 0 实现 vue3-component-library-archetype. 1 组件库工程…
前文已经初始化了 workspace-root,从本文开始就需要依次搭建组件库.example.文档.cli.本文内容是搭建 组件库的开发环境. 1 packages 目录 前面在项目根目录下创建了 packages 目录,该目录存放组件库的所有组件及组件库的入口.该目录中已经创建了两个子目录 foo 和 yyg-demo-ui.这两个目录是干嘛用的呢? 1.1 foo 目录 foo 目录代表一个示例组件,后面咱们会使用该组件来测试组件库在 example 和组件库文档中是否能正常运行.后续要开…
上文已经搭建了 pnpm + monorepo 的基础环境,本文对 workspace-root 进行初始化配置,包括:通用配置文件.公共依赖.ESLint. 1 通用配置文件 在项目 根目录 下添加下面的配置文件. 添加 .editorconfig 编辑器格式配置文件 [*.{js,cjs,ts,jsx,tsx,vue,html,css,scss,md}] indent_style = space indent_size = 2 trim_trailing_whitespace = true…
在前一篇文章中分享了搭建组件库的基本开发环境.创建了 foo 组件模块和组件库入口模块,本文分享组件库的样式架构设计. 1 常见的 CSS 架构模式 常见的 CSS 架构模式有很多:OOCSS.ACSS.BEM.SMACSS.ITCSS 等,其中 SMACSS 和 ITCSS 很相似.我在企业级项目中最常使用的是简化版的 ITCSS + BEM + ACSS,所以本文首先介绍这三种模式,其他模式大家自己上网查看. 1.1 ACSS ACSS 模式几乎是一个样式属性就对应了一个样式类.这种方式非常…
(后续的文章 公众号会提前一周更新,欢迎关注文末的微信公众号:程序员搞艺术) 预览本文的实现效果: # gitee git clone git@gitee.com:cloudyly/dscloudy-admin-single.git # github git clone git@github.com:cloudyly/dscloudy-admin-single.git git checkout 02_SVGIcon   本文主要描写如何让 Vue 工程支持 SVG 图标,以及如何获取 SVG 图…
从2018.1.开始参与了多个企业的中台建设,这些中台的技术选型几乎都是基于 Spring Cloud 微服务架构 + 基于 Vue 全家桶的前端.我前后端架构及开发我几乎各占一半的精力,在企业级前端开发中有一些心得体会:从使用组件库,到二次封装组件库.命令行加速器,再到业务开发.多个项目中发现有很多可复用或重复的内容,于是今年年初便着手搭建一套基础开发框架. 这套基础开发框架包括了一个中后台的通用功能,如 认证授权 (我使用 Spring Security + OAuth2 + JWT,前后端…
相信大家在前端开发中都使用过很多前端脚手架,如vue-cli,create-vite,create-vue等:本篇文章将会为大家详细介绍这些前端脚手架是如何实现的,并且从零实现一个create-kitty脚手架发布到npm上. pnpm搭建Monorepo环境 使用pnpm管理对项目进行管理是非常方便的,极大的解决了多个包在本地调试繁琐的问题. 什么是Monorepo? 就是指在一个大的项目仓库中,管理多个模块/包(package),这种类型的项目大都在项目根目录下有一个packages文件夹,…
前言 公司业务积累了一定程度,需要搭建自己的组件库,有了组件库,整个团队开发效率会提高恨多. 做组件库需要提供开发调试环境,和组件文档的展示,调研了几个比较主流的方案,如下: docz 配置简单,功能相对来说也较完善.我们现在项目是用的umi框架,正好官方也提供了开发库的脚手架,也集成了docz,因此我们决定采用它来开发我们的组件库. storybook 功能比较全面,支持自定义webpack配置等特性 docsifyjs 写文档比较友好,对vue支持比较好,react 用的不是特别多 组件库搭…
预览本文的实现效果: # gitee git clone git@gitee.com:cloudyly/dscloudy-admin-single.git # github git clone git@github.com:cloudyly/dscloudy-admin-single.git git checkout 03_LoginPage   经过前面的一系列准备工作,现在终于进入到框架基础功能及组件的正式开发阶段!我会从登录界面到主界面.业务功能一步步迭代开发,在迭代开发过程中逐步实现通用…
本文包括如下几个部分: 初始化环境变量文件 JS 配置文件初始化:如是否开启 Mock 数据.加载本地菜单.URL 请求路径等: 国际化文件初始化:初始化国际化文件的结构: 整合 Element UI: 将 Element UI 添加到工程中: 全局样式初始化:初始化全局样式.通用样式. 1 切换新分支 1.1 查看分支 1. 仅查看本地分支: git branch   本地分支信息: -MacBook-Pro dscloudy-admin-single % git branch        …