开源推荐! yite-cli, 基于vite的开箱即用的项目脚手架

简介: 开源推荐! yite-cli, 基于vite的开箱即用的项目脚手架

hello, 大家好, 我是徐小夕, 之前和大家分享了很多可视化低代码以及前端工程化的技术实践和思考, 今天继续和大家分享一位技术小伙伴开源的非常有意思的脚手架—— yite-cli.

后期笔者除了会定期分享主流的技术实践(包括前端可视化,工程化, 产品技术思想等), 也会抽出一部分精力帮助热爱开源小伙伴分享自己有意思的开源项目, 欢迎各位技术发烧友们推荐或者自荐, 让 3w+ 程序员因你而变的更好.

yite-cli 是什么?

image.png

yite-cli 是一个基于 vite 深度封装 方便好用强大vue3 项目开发脚手架。

开源信息

作者自 2019 年开源至今,坚持不懈,默默耕耘。

如果作者的开源项目能够给你带来帮助和便利,可以给笔者的仓库点个 star

设计思路

主要用于解决以下几个问题:

  1. 直接使用 vite ,每个项目都需要配置一次。
  2. 项目的 开发依赖 不应该暴露到项目中。
  3. 不同的开发者导致的不够统一的使用方式。

所以,yite-cli 诞生了,有效地解决了这些问题。

项目架构

  • yite-cli
  • vite.config.js
  • @unocss/transformer-compile-class
  • @unocss/transformer-directives
  • @unocss/transformer-variant-group
  • @vitejs/plugin-vue
  • @vue-macros/reactivity-transform
  • @yicode-helper/yite-chunk
  • @yicode-helper/yite-html
  • @yicode-helper/yite-i18n
  • @yicode-helper/yite-qrcode
  • @yicode-helper/yite-router
  • @yicode/commander
  • @yicode/yidash
  • copy-anything
  • fast-glob
  • fs-extra
  • lodash-es
  • merge-anything
  • portfinder
  • rollup-plugin-visualizer
  • tiny-cookie
  • unocss
  • unplugin-auto-import
  • unplugin-icons
  • unplugin-vue-components
  • vite
  • vite-plugin-vue-devtools
  • vue-i18n
  • yoctocolors

如上所示,yite-cli 内置了 vite.config.js 文件,并提供了相当多的开发依赖。

这样,原本需要我们在项目中创建 vite.config.js 文件,并需要安装的相关依赖,就不需要我们在项目中安装了。

开发理念

开发项目,最重要的是什么?快!稳!准!

如何达到这个要求?

  1. 尽量少得提供选择的机会,比如:css 预处理器只能用 scss
  2. 避免提早优化、过渡优化、沉迷优化!
  3. 项目结构、编程规范、代码写法,尽量统一不变!

java20 都出来了,为什么那么多企业守着 java8 不升级?

难道是因为他们傻吗?不,是因为他们,稳!

以不变,应万变!

稳定的技术架构远优于高级的、新的、流行的技术!

不过,yite-cli 的依赖都是最新的!

最新 + 最稳 + 持续迭代

项目宗旨

约定大于配置!

约定 大于 配置 是本项目的核心宗旨。

那么什么是 约定大于配置 呢?百科解释如下:

约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做出决定的数量,活得简单的好处,而又不失灵活性。

约定优于配置,并不是零配置或者完全没有配置,而是通过约定来减少配置!!!

用过 webpack 吗?从 0 让你搭建一个项目开发配置方案,你,烦不烦?怕不怕?慌不慌?

搭出来了,稳不稳?好不好?棒不棒?

呵呵。

yite-cli 脚手架,诞生于 2019 年的某个夏日蝉鸣的午后,几年以来,紧跟前端发展的脚步,逐步升级!

大量的项目实践,精心调配的开发味道,让你用起来,如鱼得水,信手拈来!

有哪些约定

  • 仅支持使用 scss 语法,lessstylus 都不支持。
  • 图标库默认使用 icones1 万多个图标,妈妈再也不用担心我的图标不够用啦!

什么情况避免使用

  • 路由数量大于 500 的中大型项目(yite-cli 未在此数量以上的项目实践过)。
  • 对开发灵活性要求高的项目(yite-cli 丢失部分灵活性,以求稳定性)。
  • 需要动态路由的请不要使用(动态路由还需研发)
  • 目前只支持单页应用开发(ssg 等方案未做验证)

什么情况推荐使用

  • 中小型项目
  • 需要快速开发的项目
  • 不想换人接手就大喊重构的项目

有什么功能特性

  • 不需要写路由配置,文件结构即路由
  • 默认提供 i18n 国际化多语言支持
  • 环境变量放到 src/env 目录中,便于管理
  • 默认提供自动导入文件、配置、组件、插件等
  • 灵活可控的项目骨架系统(layout
  • 默认提供封装好的全局 pinia 存储方案
  • 默认提供 scss 变量自动导入
  • 默认提供强大的工具函数 yidash(易大师)
  • 默认提供 vite 预构建配置,解决页面重新加载的问题
  • 极少的项目依赖,所有开发依赖都在脚手架中
  • 默认提供 git 提交时格式化支持
  • 默认启用 reset.cssnormalize.css

有什么优势

  • 大量自动特性,提高效率
  • 大量约定配置,提高项目稳定性
  • 提供完整且完善的基本项目开发模板
  • 约定大于配置,适合多人合作

版权声明

本仓库下的所有代码,均为 GPL-3.0 协议,如果你需要使用本仓库中的项目,需要满足以下要求:

  1. 你可以免费使用、复制、修改、分发受保护程序,但分发时一定要提供源码。
  2. 你可以使用本仓库中的项目开发商业软件并收费,但不能收许可费、版税、专利许可费、授权费这类费用。
  3. GPL 程序的所有贡献者,自动免费提供了专利许可,承诺不会告人侵犯专利权。
  4. GPL 程序允许别人破解。如果是用在消费类硬件上,要允许人修改并安装程序。

简而言之,请任意免费使用或商用,但是请保留本项目版权所有。


目录
相关文章
|
11月前
|
监控 安全 调度
任务调度企业级场景下的新选择,兼容 XXL-JOB 通信协议
XXL-JOB 是一个开源的分布式任务调度平台,开箱即用、简单易上手,得到了很多开发者的喜爱。和其他中间件开源项目一样,当开发者把开源项目部署到公共云,应用到企业级场景中时,就会在稳定性、性能、安全、其他云产品间集成体验上提出更高的要求。基于此背景,阿里云微服务引擎 MSE 基于自研的分布式任务调度平台 SchedulerX,通过兼容 XXL-JOB 客户端的通信协议,在开源 XXL-JOB 版本的基础上,提升了稳定性、安全、性能、可观测等能力,满足企业客户的需求。此外,为方便测试,提供了一个月 400 元额度的免费试用和预付费首购 5 折、续费 6.5 折起的优惠。
516 169
|
存储 Java 开发者
Java 中 Set 类型的使用方法
【10月更文挑战第30天】Java中的`Set`类型提供了丰富的操作方法来处理不重复的元素集合,开发者可以根据具体的需求选择合适的`Set`实现类,并灵活运用各种方法来实现对集合的操作和处理。
716 113
|
JSON 安全 数据安全/隐私保护
Python安全守护神:OAuth与JWT,让黑客望而却步的魔法阵🧙‍♂️
【10月更文挑战第2天】在网络世界中,数据安全至关重要。本文以教程形式介绍如何在Python环境中使用OAuth 2.0和JSON Web Tokens (JWT) 构建安全认证系统。OAuth 2.0 作为一种开放标准授权协议,允许客户端安全访问资源;JWT 则用于安全传输信息。二者结合可构建高效且安全的认证体系。文中详细介绍了OAuth 2.0 的工作流程及如何使用Flask-OAuthlib实现认证;并通过PyJWT库展示了JWT的生成与验证方法。最后探讨了两者结合使用的具体实践,旨在为开发者提供全面的认证解决方案。随着技术发展,这两种技术将继续在认证领域发挥重要作用。
268 5
|
PyTorch 算法框架/工具 异构计算
【Hello AI】安装并使用DeepGPU-LLM-处理大语言模型任务
在处理大语言模型任务中,您可以根据实际业务部署情况,选择在不同环境(例如GPU云服务器环境或Docker环境)下安装推理引擎DeepGPU-LLM,然后通过使用DeepGPU-LLM工具实现大语言模型(例如Llama模型、ChatGLM模型、百川Baichuan模型或通义千问Qwen模型)在GPU上的高性能推理优化功能
|
XML 前端开发 JavaScript
前端大神揭秘:如何让你的网页秒变炫酷,让用户欲罢不能的5大绝招!
前端开发不仅是技术活,更是艺术创作。本文揭秘五大前端开发技巧,包括合理运用CSS动画、SVG图形、现代JavaScript框架、优化网页性能及注重细节设计,助你打造炫酷网页,提升用户体验。
394 30
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
文章介绍了MyBatis的简单增删改查操作,包括创建数据表、实体类、配置文件、Mapper接口及其XML文件,并解释了`#{}`预编译参数和`@Param`注解的使用。同时,还涵盖了resultType与resultMap的区别,并提供了完整的代码实例和测试用例。
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
|
SQL 数据可视化 安全
微软SQL Server可视化工具与技巧
微软SQL Server不仅提供了强大的数据库管理功能,还集成了多种可视化工具,帮助用户更直观地理解和管理数据
1080 5
|
机器学习/深度学习 数据采集 语音技术
初学者指南:从零开始探索语音克隆与TTS技术
【10月更文挑战第20天】随着人工智能技术的飞速发展,语音克隆和文本转语音(Text-to-Speech, TTS)技术已经不再是科幻小说中的情节。如今,这些技术已经广泛应用于智能助手、语音导航、有声书等领域。作为一名对这些前沿技术感兴趣的初学者,本文将带你从零开始探索语音克隆与TTS技术,了解其基本原理,并动手实践制作自己的第一个语音克隆样本或TTS应用。
1155 0
|
安全 Java 开发者
深入解析ReentrantLock重入锁:Java多线程中的利器
深入解析ReentrantLock重入锁:Java多线程中的利器
2721 4
|
人工智能 机器人 数据安全/隐私保护
计算巢AppFlow实现模型对话流式输出
使用AppFlow现在可以实现大模型对话在钉钉群聊中的流式输出效果,无需编程,只需简单几步配置。首先在钉钉开放平台创建应用,获取Client ID和Client Secret。接着在钉钉卡片平台创建AI卡片实例,关联之前创建的应用。然后在AppFlow中选择模板创建连接流,配置钉钉卡片模版ID和WebhookUrl,发布连接流。最后在钉钉应用中设置机器人,选择HTTP模式并填入WebhookUrl,发布应用。完成这些步骤后,即可在钉钉群中与通义千问、通义百炼模型进行流式对话。如有问题,可加入官方支持钉钉群咨询。
481 13