create-expo-stack

create-expo-stack

交互式CLI工具助力快速创建类型安全Expo应用

create-expo-stack是一款交互式命令行工具,用于快速构建可高度定制的类型安全Expo应用。支持TypeScript、Expo Router文件路由、React Navigation、多样化样式方案(如NativeWind、Restyle、StyleSheets、Tamagui)和身份验证(Supabase/Firebase)。开发者通过简单命令即可定制项目,省去繁琐配置。该工具致力于加速React Native和Expo项目的初始化过程,有效提升开发效率。

CLI工具ExpoReact Native移动应用开发项目配置Github开源项目

创建 Expo Stack CLI

Discord [![NPM 版本][npm-image]][npm-url] [![下载量][downloads-image]][npm-url]

<p align="center"> 一个交互式 CLI,用于创建高度可配置、类型安全的 Expo 应用。 </p> <p align="center> 通过运行 <code>npx create-expo-stack</code> 开始使用

赞助商

通过<a href="https://github.com/sponsors/danstepanov" target="_blank">成为赞助商</a>来支持这个项目。您的 logo 将会显示在这里,并附上您网站的链接。

<a href="https://galaxies.dev/" target="_blank" style="margin-top: 10px;margin-right: 10px; margin-bottom: 10px;" > <img src="https://yellow-cdn.veclightyear.com/ab5030c0/0c3603c6-3742-4fb6-b73d-d94fb4a58df9.svg" style="border-radius: 50%;"> </a> <a href="https://expo.dev/" target="_blank" style="margin: 10px;"> <img src="https://yellow-cdn.veclightyear.com/ab5030c0/a3c5618e-c325-4759-b88d-917ccabe54ac.svg" style="border-radius: 50%;"> </a> <a href="https://github.com/derkweijers" target="_blank" style="margin: 10px;"> <img src="https://avatars.githubusercontent.com/u/11644998?v=4" height="64" width="64" style="border-radius: 50%;"> </a> <a href="https://paradigmpost.com" target="_blank" style="margin: 10px;"> <img src="https://yellow-cdn.veclightyear.com/ab5030c0/16a2f27b-fd5f-49eb-abb3-1e8652debf9c.png" height="64" width="64" style="border-radius: 50%;"> </a>

描述

这个 CLI 工具旨在帮助您尽快开始使用 React Native 和 Expo。CLI 选项允许您使用 Typescript、基于文件的 Expo Router 路由、基于配置的 React-Navigation 导航、NativeWind、Restyle、StyleSheets 或 Tamagui 的样式设置以及通过 Supabase 或 Firebase 进行身份验证来配置您的项目。

您还可以使用 --noInstall--noGit--default 等标志来自定义您的项目。CLI 将尝试自动确定您选择的包管理器,但您也可以通过 --npm--yarn--pnpm--bun 传入您首选的包管理器。路线图即将推出...

使用方法

要开始使用,请使用 npx 运行 CLI 工具。系统将提示您选择要使用的功能。

npx create-expo-stack

<img src="https://github.com/roninoss/create-expo-stack/assets/5482800/e709dd66-cb9b-463c-91f9-b842bb80585c" />

模板的技术栈

目前,所有的模板都使用以下库的相同版本。并非所有模板都包含所有库,但它们都可供使用。

每个项目都是根据 CLI 的结果,按文件生成的。这种方法使得这个 CLI 非常可扩展且易于使用。所有生成项目的通用文件存储在基础模板文件夹中,而与其他包相关的文件存储在包模板文件夹中。除了添加文件外,该项目还使用 EJS 来根据需要操作现有文件。

类别版本描述
React Native移动框架v0.73最佳跨平台移动框架
ReactUI 框架v18世界上最流行的 UI 框架
TypeScript语言v5静态类型检查
React Navigation导航v6高性能且一致的导航框架
ExpoSDKv51允许(可选)Expo 模块
Expo Font自定义字体v11导入自定义字体
Expo LinkingURL 处理v5通过 URL 打开您的应用
Expo Router导航v3React-Native 中的基于文件的路由
Expo Splash Screen启动画面v0.18自定义启动画面
Expo Status Bar状态栏库v1状态栏支持
Expo System UI系统 UI 库v2系统 UI 支持
Expo Web Browser网络浏览器库v12在浏览器中打开链接
NativeWindUI 框架v4React Native 的 Tailwind CSS
RestyleUI 框架v2React Native 的基于主题的样式库
TamaguiUI 框架v1具有智能优化编译器的通用 UI
UnistylesUI 框架v2StyleSheet 的超集
Safe Area Context安全区域库v4安全区域支持
React Native WebWeb 支持v0.19Web 版 React Native
Firebase后端和认证v10来自 Google 的云托管 NoSQL 数据库
Supabase后端和认证v2开源 Firebase 替代方案

报告错误和反馈

如果您遇到问题或有反馈,请先在此存储库的问题和讨论中搜索。如果找不到任何相关内容,欢迎在 Twitter 上给我发消息或开启一个新的问题。

贡献

请参阅本指南。

欢迎贡献!如果您想贡献,请提交拉取请求或提出问题。在此存储库的问题部分有标记为 [FR] 的现有功能请求。

想要更快速地前进?我可以帮忙 😎

熟悉新框架可能会很麻烦。如果您发现需要更快地前进,我可能可以提供帮助。

如果您需要在 React Native/Expo 应用方面的帮助,或者只是在寻找一位技术顾问来指导您的旅程,让我们聊聊

贡献者 ✨

感谢这些优秀的人:

<!-- readme: contributors -start --> <table> <tr> <td align="center"> <a href="https://github.com/danstepanov"> <img src="https://avatars.githubusercontent.com/u/5482800?v=4" width="100;" alt="danstepanov"/> <br /> <sub><b>丹 斯特帕诺夫</b></sub> </a> </td> <td align="center"> <a href="https://github.com/dannyhw"> <img src="https://avatars.githubusercontent.com/u/3481514?v=4" width="100;" alt="dannyhw"/> <br /> <sub><b>丹尼尔 威廉姆斯</b></sub> </a> </td> <td align="center"> <a href="https://github.com/hqasmei"> <img src="https://avatars.githubusercontent.com/u/39573679?v=4" width="100;" alt="hqasmei"/> <br /> <sub><b>霍斯娜 卡斯梅</b></sub> </a> </td> <td align="center"> <a href="https://github.com/sammoore"> <img src="https://avatars.githubusercontent.com/u/2035492?v=4" width="100;" alt="sammoore"/> <br /> <sub><b>萨姆 摩尔</b></sub> </a> </td> <td align="center"> <a href="https://github.com/ernestoresende"> <img src="https://avatars.githubusercontent.com/u/55156145?v=4" width="100;" alt="ernestoresende"/> <br /> <sub><b>埃内斯托 雷森德</b></sub> </a> </td> <td align="center"> <a href="https://github.com/PickleNik"> <img src="https://avatars.githubusercontent.com/u/31113245?v=4" width="100;" alt="PickleNik"/> <br /> <sub><b>空</b></sub> </a> </td></tr> <tr> <td align="center"> <a href="https://github.com/frankcalise"> <img src="https://avatars.githubusercontent.com/u/374022?v=4" width="100;" alt="frankcalise"/> <br /> <sub><b>弗兰克 卡利斯</b></sub> </a> </td> <td align="center"> <a href="https://github.com/ludwig-pro"> <img src="https://avatars.githubusercontent.com/u/62896243?v=4" width="100;" alt="ludwig-pro"/> <br /> <sub><b>路德维希</b></sub> </a> </td> <td align="center"> <a href="https://github.com/mrzachnugent"> <img src="https://avatars.githubusercontent.com/u/63797719?v=4" width="100;" alt="mrzachnugent"/> <br /> <sub><b>扎克 纽金特</b></sub> </a> </td> <td align="center"> <a href="https://github.com/alejorod"> <img src="https://avatars.githubusercontent.com/u/6730160?v=4" width="100;" alt="alejorod"/> <br /> <sub><b>亚历杭德罗 罗德里格斯</b></sub> </a> </td> <td align="center"> <a href="https://github.com/kratos-respawned"> <img src="https://avatars.githubusercontent.com/u/87561983?v=4" width="100;" alt="kratos-respawned"/> <br /> <sub><b>高拉夫 班达里</b></sub> </a> </td> <td align="center"> <a href="https://github.com/finnbayer"> <img src="https://avatars.githubusercontent.com/u/115630860?v=4" width="100;" alt="finnbayer"/> <br /> <sub><b>芬恩 拜耳</b></sub> </a> </td></tr> <tr> <td align="center"> <a href="https://github.com/saimon24"> <img src="https://avatars.githubusercontent.com/u/2514208?v=4" width="100;" alt="saimon24"/> <br /> <sub><b>西蒙 格里姆</b></sub> </a> </td> <td align="center"> <a href="https://github.com/todevmilen"> <img src="https://avatars.githubusercontent.com/u/78319110?v=4" width="100;" alt="todevmilen"/> <br /> <sub><b>米伦 托德夫</b></sub> </a> </td> <td align="center"> <a href="https://github.com/alitnk"> <img src="https://avatars.githubusercontent.com/u/35243344?v=4" width="100;" alt="alitnk"/> <br /> <sub><b>阿里雷扎 扎马尼</b></sub> </a> </td> <td align="center"> <a href="https://github.com/catalinmiron"> <img src="https://avatars.githubusercontent.com/u/2805320?v=4" width="100;" alt="catalinmiron"/> <br /> <sub><b>卡塔林 米龙</b></sub> </a> </td> <td align="center"> <a href="https://github.com/coyksdev"> <img src="https://avatars.githubusercontent.com/u/19565694?v=4" width="100;" alt="coyksdev"/> <br /> <sub><b>杰拉尔德</b></sub> </a> </td> <td align="center"> <a href="https://github.com/Savinvadim1312"> <img src="https://avatars.githubusercontent.com/u/16936043?v=4" width="100;" alt="Savinvadim1312"/> <br /> <sub><b>萨文 瓦迪姆</b></sub> </a> </td></tr> <tr> <td align="center"> <a href="https://github.com/b0iq"> <img src="https://avatars.githubusercontent.com/u/106549013?v=4" width="100;" alt="b0iq"/> <br /> <sub><b>空</b></sub> </a> </td> <td align="center"> <a href="https://github.com/gabimoncha"> <img src="https://avatars.githubusercontent.com/u/39256258?v=4" width="100;" alt="gabimoncha"/> <br /> <sub><b>Gabimoncha</b></sub> </a> </td> <td align="center"> <a href="https://github.com/mwarger"> <img src="https://avatars.githubusercontent.com/u/686823?v=4" width="100;" alt="mwarger"/> <br /> <sub><b>Mat Warger</b></sub> </a> </td> <td align="center"> <a href="https://github.com/gialencar"> <img src="https://avatars.githubusercontent.com/u/11895696?v=4" width="100;" alt="gialencar"/> <br /> <sub><b>Gilson Alencar</b></sub> </a> </td> <td align="center"> <a href="https://github.com/andrew-levy"> <img src="https://avatars.githubusercontent.com/u/29075740?v=4" width="100;" alt="andrew-levy"/> <br /> <sub><b>Andrew Levy</b></sub> </a> </td> <td align="center"> <a href="https://github.com/AlejandroGutierrezB"> <img src="https://avatars.githubusercontent.com/u/56408597?v=4" width="100;" alt="AlejandroGutierrezB"/> <br /> <sub><b>Alejandro Gutierrez Barcenilla</b></sub> </a> </td></tr> <tr> <td align="center"> <a href="https://github.com/falcoagustin"> <img src="https://avatars.githubusercontent.com/u/15353019?v=4" width="100;" alt="falcoagustin"/> <br /> <sub><b>Agustin Falco</b></sub> </a> </td> <td align="center"> <a href="https://github.com/claudesortwell"> <img src="https://avatars.githubusercontent.com/u/41422239?v=4" width="100;" alt="claudesortwell"/> <br /> <sub><b>Claude</b></sub> </a> </td> <td align="center"> <a href="https://github.com/gwenoleR"> <img src="https://avatars.githubusercontent.com/u/10418241?v=4" width="100;" alt="gwenoleR"/> <br /> <sub><b>无</b></sub> </a> </td> <td align="center"> <a href="https://github.com/boek"> <img src="https://avatars.githubusercontent.com/u/1250545?v=4" width="100;" alt="boek"/> <br /> <sub><b>Jeff Boek</b></sub> </a> </td> <td align="center"> <a href="https://github.com/zamplyy"> <img src="https://avatars.githubusercontent.com/u/26258710?v=4" width="100;" alt="zamplyy"/> <br /> <sub><b>Joar Karlsson</b></sub> </a> </td> <td align="center"> <a href="https://github.com/Joehoel"> <img src="https://avatars.githubusercontent.com/u/31251240?v=4" width="100;" alt="Joehoel"/> <br /> <sub><b>Joël Kuijper</b></sub> </a> </td></tr> <tr> <td align="center"> <a href="https://github.com/asapMaki"> <img src="https://avatars.githubusercontent.com/u/30200380?v=4" width="100;" alt="asapMaki"/> <br /> <sub><b>Mahir Kadić</b></sub> </a> </td> <td align="center"> <a href="https://github.com/imranbarbhuiya"> <img src="https://avatars.githubusercontent.com/u/74945038?v=4" width="100;" alt="imranbarbhuiya"/> <br /> <sub><b>Parbez</b></sub> </a> </td> <td align="center"> <a href="https://github.com/ralacerda"> <img src="https://avatars.githubusercontent.com/u/19380403?v=4" width="100;" alt="ralacerda"/> <br /> <sub><b>Renato Lacerda</b></sub> </a> </td> <td align="center"> <a href="https://github.com/Hacksore"> <img src="https://avatars.githubusercontent.com/u/996134?v=4" width="100;" alt="Hacksore"/> <br /> <sub><b>Sean Boult</b></sub> </a> </td> <td align="center"> <a href="https://github.com/YounessHassoune"> <img src="https://avatars.githubusercontent.com/u/36106440?v=4" width="100;" alt="YounessHassoune"/> <br /> <sub><b>YOUNESS HASSOUNE</b></sub> </a> </td> <td align="center"> <a href="https://github.com/bautistaaa"> <img src="https://avatars.githubusercontent.com/u/3660667?v=4" width="100;" alt="bautistaaa"/> <br /> <sub><b>无</b></sub> </a> </td></tr> <tr> <td align="center"> <a href="https://github.com/debugtheworldbot"> <img src="https://avatars.githubusercontent.com/u/62830430?v=4" width="100;" alt="debugtheworldbot"/> <br /> <sub><b>Pipizhu</b></sub> </a> </td></tr> </table> <!-- readme: contributors -end --> [下载量图标]: https://img.shields.io/npm/dm/create-expo-stack?color=364fc7&logoColor=364fc7 [npm链接]: https://www.npmjs.com/package/create-expo-stack [npm版本图标]: https://img.shields.io/npm/v/create-expo-stack?color=0b7285&logoColor=0b7285

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多