前两篇文章分享了基于 vite3 vue3 的组件库基础工程 vue3-component-library-archetype 和用于快速创建该工程的工具 yyg-cli,但在中大型的企业级项目中,通常会自主搭建这些脚手架或加速器.优雅哥希望每位前端伙伴能知其所以然,故接下来的文章将进入 Vue3 企业级优雅实战 系列,整个系列将包括五大部分: 首先会分享如何从 0 开始搭建一套组件库基础工程,即如何从 0 实现 vue3-component-library-archetype. 1 组件库工程…
在前一篇文章中分享了搭建组件库的基本开发环境.创建了 foo 组件模块和组件库入口模块,本文分享组件库的样式架构设计. 1 常见的 CSS 架构模式 常见的 CSS 架构模式有很多:OOCSS.ACSS.BEM.SMACSS.ITCSS 等,其中 SMACSS 和 ITCSS 很相似.我在企业级项目中最常使用的是简化版的 ITCSS + BEM + ACSS,所以本文首先介绍这三种模式,其他模式大家自己上网查看. 1.1 ACSS ACSS 模式几乎是一个样式属性就对应了一个样式类.这种方式非常…
前文已经初始化了 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…
(后续的文章 公众号会提前一周更新,欢迎关注文末的微信公众号:程序员搞艺术) 预览本文的实现效果: # 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,前后端…
框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题,是一种可复用的构架. 我们对CSS框架这个词比较陌生,但对于JavaScript框架就比较熟悉了,比如jQuery 但为什么js框架大红大紫而CSS框架确始终没有流行起来呢?甚至有人说“在我有限的视野里,还没见到可以真正可以称得上css框架的东东~”CSS框架没有被大众接受的一个重要原因是: js框架是基于逻辑的,js框架简化了逻辑中的繁琐细节,封装了存在兼容性的函数,提供了丰富的选择器.函数和插件,给开发者带来方便…
预览本文的实现效果: # 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        …
代码管理.版本管理是件老大难的事情,尤其多人开发中的代码冲突.突击功能时面临的 hotfix 等.本文只是简单说说如何将一套代码提交到两个 Git 平台(GitHub.GitEE)上.其他的 Git 操作:如本地 commit.远程 push.pull.开启新分支.分支合并等操作,再后面的文章中都会有操作 —— 每一个功能点我都会开启一个新分支. 1 初始化本地 Git 仓库 1.1 初始化仓库 将本地一个目录初始化为本地 git 仓库的命令是: git init   由于咱的工程是通过 vue…