theme: nico 前言 随着前端技术的发展,业界涌现出了许多的UI组件库.例如我们熟知的ElementUI,Vant,AntDesign等等.但是作为一个前端开发者,你知道一个UI组件库是如何被打造出来的吗? 读完这篇文章你将学会: 如何使用pnpm搭建出一个menorepo环境 如何使用vite搭建一个基本的Vue3脚手架项目 如何开发调试一个自己的UI组件库 如何使用vite打包并发布自己的UI组件库 作为一个前端拥有一个属于自己的UI组件库是一件非常酷的事情.它不仅能让我们对组件的原…
button组件几乎是每个组件库都有的:其实实现一个button组件是很简单的.本篇文章将带你一步一步的实现一个button组件.如果你想了解完整的组件库搭建,你可以先看使用Vite和TypeScript带你从零打造一个属于自己的Vue3组件库,这篇文章有详细介绍.当然如果你只想知道一个button组件如何开发出来的,只看这篇也就够了.(样式部分参造了elementui组件库) 首先我们先看下我们这个button组件要实现的功能 使用type,plain属性来定义按钮基本样式 round,siz…
本篇文章将为我们的组件库添加一个新成员:Input组件.其中Input组件要实现的功能有: 基础用法 禁用状态 尺寸大小 输入长度 可清空 密码框 带Icon的输入框 文本域 自适应文本高度的文本域 复合型输入框 每个功能的实现代码都做了精简,方便大家快速定位到核心逻辑,接下来就开始对这些功能进行一一的实现. 基础用法 首先先新建一个input.vue文件,然后写入一个最基本的input输入框 <template> <div class="k-input"> &…
先看下效果 其实就是个抖动效果组件,实现起来也非常简单.之所以做这样一个组件是为了后面写Form表单的时候会用到它做一个规则校验,比如下面一个简单的登录页面,当点击登录会提示用户哪个信息没输入,当然这只是一个简陋的demo 接下来就开始我们的Shake组件实现 CSS样式 当你需要抖动的时候就给它添加个抖动的类名,不需要就移除这个类名即可.抖动效果就用CSS3中的transform的平移属性加动画实现 @keyframes shake { 10%, 90% { transform: transl…
今天看到一篇文章中提到了一个好用的工具release-it.刚好可以用在我正在开发的vue3组件库.纸上得来终觉浅,绝知此事要躬行,说干就干,下面就介绍如何将release-it应用到实际项目中,让组件库可以自动化发布.管理版本号.生成 changelog.tag等 项目调整 在使用这个工具之前先对组件库进行进行一些调整,这里仅是对项目本身的优化和release-it无关. 首先修改vite.config.ts将打包后的目录dist更改为kitty-ui 自动打包中的删除打包文件改成nodejs…
最近小编有点闲,突发奇想想重温一下mybatis,然后在脑海中搜索了一下,纳尼,居然不太会用了,想到这里都是泪啊!!现在我所呆的的公司使用的是springboot+hebinate,编程都是使用的JPA语义化编程,都用不上mybatis了,时隔近8个月的时间没用它,它竟然想溜,然而毕竟它曾经来过,我怎么能轻易让它走,于是决定自己搭建一个,重温一下mybatis的使用,不过幸好的是,还真让我搭建成功了,废话不多说,上流程. 代码已经同步gitHub上:https://github.com/Slie…
相信大家在前端开发中都使用过很多前端脚手架,如vue-cli,create-vite,create-vue等:本篇文章将会为大家详细介绍这些前端脚手架是如何实现的,并且从零实现一个create-kitty脚手架发布到npm上. pnpm搭建Monorepo环境 使用pnpm管理对项目进行管理是非常方便的,极大的解决了多个包在本地调试繁琐的问题. 什么是Monorepo? 就是指在一个大的项目仓库中,管理多个模块/包(package),这种类型的项目大都在项目根目录下有一个packages文件夹,…
无论是 vue2 全家桶还是 vue3 + vite + TypeScript,组件库的使用几乎大家都会,但自己开发一个独立组件库就不是每个人都掌握的,因为搭建组件库的基础开发环境,就会让很多同学望而却步.一个组件库应该至少要包括三个方面: 组件库的开发和打包: 组件库文档的开发和打包: 命令行工具 cli 快速创建新组件. 这几天 程序员优雅哥 搭建了一个组件库的基础脚手架: vue3-component-library-archetype 在这个脚手架的基础上,大家可以使用内置的 cli 快…
系列参考 ,英文原文参考 我的git代码: https://github.com/chentianwei411/Typeahead 目标: 建立一个输入关键字得到相关列表的组件,用Vuejs2和Fetch API 思路: 把一个json数据,fetch到本地.然后用户模糊搜索title, 得到相关的结果列表. [ { "userId": 1, "id": 1, "title": "sunt aut facere repellat pro…
本文仅限于入门级,没有成规模制作,希望能对你有所帮助. 因为在开发多个项目中可能会用到同一个组件,那么我们通过复制粘贴的形式更新,无异于是笨拙的,我们可以通过上传到npm后,不断迭代npm包来实现更新. 前期准备 初始化project 这里我们使用vue-cli来初始化一个vue项目. npm install -g @vue/cli or yarn global add @vue/cli vue create personal-component-set 首先我们来开发一个可复用的顶栏控件,这里…
1.创建个vue 项目,这里不详细写怎么创建,参考 vue - 指令创建 vue工程 - 岑惜 - 博客园 (cnblogs.com) https://www.cnblogs.com/c2g5201314/p/15660810.html 使用vue2.0 2.分别执行指令 安装 vant npm i vant -S 安装按需引入vant差插件 npm i babel-plugin-import -D 安装 px转rem 插件 [不要太高,可能导致报错,指定版本安装] npm install po…
使用nexus搭建一个maven私有仓库 大家好,我是程序员田同学.今天带大家搭建一个maven私有仓库. 很多公司都是搭建自己的Maven私有仓库,今天就带大家使用nexus搭建一个自己的私有仓库,并使用idea上传java到自己的仓库. 1.下载nexus 官网链接:https://www.sonatype.com/download-oss-sonatype 2.nexus配置启动 下载解压文件后: 解压后的文件目录 配置: bin目录下nexus.vmoptions文件,可调整内存参数,防…
组内负责的几个项目都有一些一样的公共组件,所以就着手搭建了个公共组件开发脚手架,第一次开发 library,所以是参考着 iview 的配置来搭建的.记录如何使用webpack4搭建一个library的脚手架 前言 使用 webpack4,需要安装 webpack 和 webpack-cli yarn add webpack webpack-cli -D 然后就是书写配置文件. 项目脚手架结构 我写的 library 的目录结构如下,仅供参考,主要是模仿 iview 的结构,其中部分配置参考了…
每个组件库都有它们自己的文档.所以当我们开发完成我们自己的组件库必须也需要一个组件库文档.如果你还不了解如何搭建自己的组件库可以看这里->从零搭建Vue3组件库.看完这篇文章你就会发现原来搭建和部署一个组件库文档是那么的简单.当然部署也不需要你有自己的服务器,你只要有github即可.由于我们的组件库还没有完成,所以下面就以element-plus作为示例来搭建一个文档吧. 安装vitepress 首先新建文件夹就叫kittydocs,执行pnpm init初始化,然后安装vitepress p…
本项目演示地址:https://husilang.github.io/zm-ui 项目参考文章:从零开始搭建Vue组件库 VV-UI 项目的初衷是学习怎么封装一个基于Vue的UI组件库,顺便记录每个步骤,以及在此过程中遇到的难点及体会. 下面是我个人的一个项目搭建流程,希望能帮助大家. ①脚手架初始化项目 使用 vue cli 3.0.0版本以上,在node或cmd中输入以下命令创建项目 vue create project-name 选择 Manually select features选择B…
前两篇文章分享了基于 vite3 vue3 的组件库基础工程 vue3-component-library-archetype 和用于快速创建该工程的工具 yyg-cli,但在中大型的企业级项目中,通常会自主搭建这些脚手架或加速器.优雅哥希望每位前端伙伴能知其所以然,故接下来的文章将进入 Vue3 企业级优雅实战 系列,整个系列将包括五大部分: 首先会分享如何从 0 开始搭建一套组件库基础工程,即如何从 0 实现 vue3-component-library-archetype. 1 组件库工程…
当前工作中,前端的主要技术栈用是vue. 那React怎么办呢?总不至于把他扔在墙角吧! 只能在一些很小的项目上,也只有自己一个前端的时候,悄悄的上React. 当然,React项目UI组件还是最喜欢的Antd了. 近期的一个项目,就这么上了React和Antd,然后当中有一棵树组件. 简单看一下树组件的设计图吧! 看了设计图,就发现一个小问题. Antd组件库当中的Tree组件子节点的向右缩进是通过父节点的padding-left实现的.那么就这么尴尬了,子节点的选中状态背景色没办法占满整行.…
博客地址:https://ainyi.com/98 Vue3.0,One Piece 接下来得抽空好好学习了 vite 尤大在 Vue 3.0 beta 直播中推荐了 vite 的工具,强调:针对Vue单页面组件的无打包开发服务器,可以直接在浏览器运行请求的 vue 文件 很新颖,这篇博客用它来搭建一个 vue3 的项目试试 Vite 是面向现代浏览器,基于原生模块系统 ESModule 实现了按需编译的 Web 开发构建工具.在生产环境下基于 Rollup 打包 快速冷启动服务器 即时热模块更…
不用不知道,一用香到爆. 老哥是个屌丝前端,但也想写点web应用耍一耍.之前弄过了NodeJs,也弄过JAVA,最近由于写游戏的原因用C#,索性上手一波asp.net core. 这篇博客记录的是,如何在分分钟内搭建一个博客程序.包括: 发博客 看博客 用户注册登录 用户权限设置. 其中用的就是微软提供的EntityFrame和Identity类库.简直他妈爽出翔. 1.快速生成一个项目 反正增删改查就那么回事儿,快速生成一个项目模板才是主要的. 我不想创建一个带Razor页面的项目.因为我只需…
[手摸手,带你搭建前后端分离商城系统]01 搭建基本代码框架.生成一个基本API 通过本教程的学习,将带你从零搭建一个商城系统. 当然,这个商城涵盖了很多流行的知识点和技术核心 我可以学习到什么? SpringBoot 鉴权与认证.token.有关权限的相关的内容. 优雅的利用OSS 上传文件 API 在线生成文档 Redis Redis 基本使用 Redis 缓存存放用户token等 Docker 容器技术的使用 SpringBoot 项目打包docker image ElasticSearc…
背景 ​ 最近因为要做一个新的管理后台项目,新公司大部分是用vue写的,技术栈这块也是想切到react上面来,所以,这次从0到1重新搭建一个react项目架子,需要考虑的东西的很多,包括目录结构.代码规范.请求封装等等, 涉及内容较多,所以我分成了几个部分来记录搭建的过程: 从0到1用react+antd+redux搭建一个开箱即用的企业级管理后台系列(基础篇) 从0到1用react+antd+redux搭建一个开箱即用的企业级管理后台系列(引入redux) 从0到1用react+antd+re…
一直听说用hexo搭建一个拥有自己域名的博客是很酷炫的事情~,在这十一花上半个小时整个hexo博客岂不美哉. 使用Hexo吸引我的是,其简单优雅, 而且风格多变, 适合程序员搭建个人博客,而且支持多平台的搭建,再加上有些node,git基础,分分钟创建出一个高大上的博客.废话少说,开始吧. 准备工作 1.node:用来生成静态页面的 到Node.js官网下载相应平台的最新版本,一路安装即可. 2.git: 把本地的hexo内容提交到github上去.没有安装的可以看此教程. 3.github:用…
开始快速搭建一个项目 通过Webpack + vue-loader 手脚架 https://github.com/vuejs-templates/webpack 按照它的步骤一步一步来 $ npm install -g vue-cli $ vue init webpack my-project $ cd my-project $ npm install $ npm run dev 这里注意在npm install的时候如果太慢或者安装不了可以换一个npm源 怎么更换npm源? 我们可以通过安装n…
利用git+hugo+markdown 搭建一个静态网站 一直想要有一个自己的文档管理系统: 可以很方便书写,而且相应的文档很容易被分享 很方便的存储.管理.历史记录 比较方面的浏览和查询 第一点用Makrdown来写文档是一个非常好的选择,第二点自然想到了git, 第三点用一个静态的网站来浏览和管理是一个不错的选择,这里选择了hugo. Hugo是由Go语言实现的静态网站生成器. 注意是生成器.他虽然自带webserver,但是没有Nigix强大了. 他能非常方便的把markdown文件转换为…
现今,直播市场热火朝天,不少人喜欢在手机端安装各类直播 App,便于随时随地观看直播或者自己当主播.作为开发者来说,搭建一个稳定性强.延迟率低.可用性强的直播平台,需要考虑到部署视频源.搭建聊天室.优化界面等难题,具备一定的难度与挑战! 那假如自己搭建一个直播平台,该如何下手呢?莫慌,本文就给大家详细介绍如何搭建一个 iOS 系统的直播 App? 1 流程熟悉 1.1 选择协议 想要实现直播 App ,我们得先知道如何播放从服务器传来的视频数据. 目前,主流视频直播网站使用的协议多为 RTMP(…
最近随着 Apple iOS 和 Android 平台的盛行,一个新的名词 WebApp 也逐渐火了起来,这里我也趁着热潮做一个关于 WebApp 系列的学习笔记,分享平时的一些研究以及项目中的经验,在现阶段研究对象暂时限定为 iOS 平台(iPhone/iPad/iPod touch),随后会扩展到 Android 平台. 对于 WebApp,我的理解是:它一个基于 Web 形式的应用程序,是针对智能手机.平板电脑等高性能移动设备做了特别优化的网页或网站,它相对原生应用程序(Native Ap…
第一个Django项目将是一个完整的博客网站.它和我们博客园使用的博客别无二致,一样有分类.标签.归档.查询等功能.如果你对Django感兴趣的话,这是一个绝好的机会.该教程将和你一起,从零开始,搭建一个属于你自己的Django博客站点. 事不宜迟,让我赶快开始吧! 创建你的第一个Django项目 Django提供了一个命令,可以让你轻松地创建初始Django项目文件结构.从你的终端运行以下命令: django-admin startproject mysite 这将会创建一个名为mysite的…
[编者按]本篇文章作者是 Reinder de Vries,既是一名企业家,也是优秀的程序员,发表多篇应用程序的博客.本篇文章中,作者主要介绍了如何基于 Parse 特点,打造一款类似 Instagram 的应用,完整而清晰的步骤,为开发者提供一次绝佳的学习体验.本文系 OneAPM 工程师编译整理,这是本系列的第 2 篇文章. 如何用 Parse 和 Swift 搭建一个像 Instagram 那样的应用?(1) 将数据展现在屏幕上 让我们看看下面这个类的最终方法.它会把数据放在表视图中: o…
搭建一个QQ界面其实是一个很简单的实现,需要几种切换视图的控制器组合一起使用,即导航控制器.标签栏控制器.模态窗口.其中,将标签栏控制器设置为window的rootViewController,因为QQ主界面有4个控制器,分别为消息.联系人.动态.我,那么创建这4个控制器,然后再为它们分别创建一个导航控制器.此时,将之前创建的那4个控制器分别设置为对应的导航控制的rootViewcontroller.最后,将这4个导航控制器设置为标签栏控制器的子控制器即可.除此之外,我们仍然需要再创建一个登录的…
最近因为要做一个小型的网站,需求很简单有点像公司内部的管理网站,和室友一起倒腾,发现了一些坑.我自己之前没有接触过python 但是发现真的非常好上手. 我们没人会前端,所以最怕修改网页,一开始选择了Flask框架,我搞了半天遇到各种坑(还要修改css 麻烦),中间件也不好用,劝大家用django,资料多,非常好用. 那么开始说重点,需要做的哪些东西. http://python.usyiyi.cn/ 是主要的资料,里面是中文的资料建议一点点看下去. 1-项目环境搭建. 1.1第三方库准备 开发…