欢迎使用 Next.js 企业级样板,这是一个面向企业项目的开源模板!它包含了许多功能,可以帮助你构建高性能、易维护且令人愉悦的应用。我们已经为你完成了所有繁重的工作,所以请放松,准备好用你的出色应用征服世界吧!🌍
[!注意] Blazity 是一群 Next.js/Headless 专家。如果你想讨论你的项目或只是想和我们聊天,请通过 contact@blazity.com 联系我们
使用这个模板,你将获得所有你需要的优秀功能:
ts-reset 库实现最终的类型安全要开始使用这个样板,请按照以下步骤操作:
## 别忘了先 ⭐ 点赞并 fork :) git clone https://github.com/<your_username)/next-enterprise.git
yarn install --frozen-lockfile
yarn dev
在浏览器中打开 http://localhost:3000 查看结果。
这个项目使用 git hook 来强制执行约定式提交。要安装 git hook,请在项目根目录运行以下命令:
brew install pre-commit pre-commit install -t commit-msg
通过点击下面的按钮,轻松使用 Vercel 部署你的 Next.js 应用:
package.json 中提供了以下脚本:
dev: 启动开发服务器并输出彩色日志build: 构建生产环境的应用start: 启动生产服务器lint: 使用ESLint进行代码检查lint:fix: 自动修复代码检查错误prettier: 检查代码格式是否规范prettier:fix: 自动修复格式问题analyze: 分析客户端、服务器和边缘环境的包大小storybook: 启动Storybook服务器build-storybook: 构建可部署的Storybooktest: 运行单元测试和集成测试e2e:headless: 以无头模式运行端到端测试e2e:ui: 以UI模式运行端到端测试format: 使用Prettier格式化代码postinstall: 应用补丁到外部依赖preinstall: 确保项目使用Yarn安装coupling-graph: 生成组件的耦合和内聚图coupling-graph脚本是一个有用的工具,可以帮助可视化项目内部模块之间的耦合和连接。它使用Madge库构建。要生成图表,只需运行以下命令:
yarn coupling-graph
这将创建一个graph.svg文件,其中包含组件之间连接的图形表示。您可以使用任何支持SVG的查看器打开该文件。

这个样板项目包含各种测试设置,以确保应用程序的可靠性和稳健性。
yarn test运行Jest测试yarn e2e:headless以无头模式运行Playwright测试yarn e2e:ui以UI模式运行Playwright测试为了编写验收测试,我们利用Storybook的play函数。这允许您与组件交互并在Storybook中 测试各种用户流程。
/* * 查看 https://storybook.js.org/docs/react/writing-stories/play-function#working-with-the-canvas * 了解更多关于使用canvasElement查询DOM的信息 */ export const FilledForm: Story = { play: async ({ canvasElement }) => { const canvas = within(canvasElement) const emailInput = canvas.getByLabelText("email", { selector: "input", }) await userEvent.type(emailInput, "example-email@email.com", { delay: 100, }) const passwordInput = canvas.getByLabelText("password", { selector: "input", }) await userEvent.type(passwordInput, "ExamplePassword", { delay: 100, }) // 查看 https://storybook.js.org/docs/react/essentials/actions#automatically-matching-args 了解如何在Actions面板中设置日志记录 const submitButton = canvas.getByRole("button") await userEvent.click(submitButton) }, }
在这个样板项目中,我们使用Storybook内置的冒烟测试支持,以验证组件能否正确渲染且没有错误。只需运行yarn test-storybook即可执行冒烟测试。请记住只用JSX或TSX格式编写stories。冒烟测试和许多其他功能对MDX格式的stories支持不佳。
这个样板项目使用Tailwind CSS进行样式设计,并使用CVA创建强大且易用的设计系统。如果您想了解更多关于此设置的信息,请查看Vercel的这个精彩视频:
虽然像Stitches和Vanilla Extract这样的CSS-in-TS库非常适合构建类型安全的UI组件,但它们可能并不适合所有人。您可能更喜欢对样式表有更多控制权,需要使用Tailwind CSS等框架,或者simply喜欢编写自己的CSS。
使用传统CSS创建变体可能是一项繁琐的任务,需要手动将类与属性匹配并添加类型。CVA就是为了解决这个问题而生的,让您可以专注于UI开发中令人愉快的方面。通过提供一种简单且类型安全的方式来创建变体,CVA简化了这个过程,并帮助您创建强大的设计系统,而不会牺牲CSS的灵活性和控制力。
虽然这个样板项目没有包含特定的状态管理库,但我们认为选择最适合您项目需求的库至关重要。以下是我们推荐的一些状态管理库:
Zustand是一个小巧、快速且可扩展的状态管理库。它设计简单直观,非常适合中小型项目。它还针对包大小进行了优化,确保对应用程序性能的影响最小。
Jotai是一个基于原子的React状态管理库,专注于提供最小化和直观的API。其基于原子的方法允许您以细粒度的方式管理状态,同时仍然高度优化包大小。
Recoil是Facebook专为React应用程序开发的状态管理库。通过利用原子和选择器,Recoil允许您高效地管理状态和派生状态。其主要优势是能够只在订阅的状态发生变化时更新组件,减少不必要的重新渲染,保持应用程序的快速和高效。Recoil还提供了内置的调试工具,为开发者提供了良好的开发体验。
选择最适合您的需求和项目结构的库,以确保为您的应用程序提供高效的状态管理解决方案。
我们集成了创新的ChatGPT代码审查,用于AI驱动的自动代码审查。这个功能提供实时的代码反馈,帮助提高代码质量并捕捉潜在问题。
要使用ChatGPT代码审查,请添加一个OPENAI_API_KEY环境变量,其中包含来自OpenAI平台的适当密钥。有关设置详情,请参阅文档中的使用GitHub Actions部分。

T3 Env是一个库,提供构建时的环境变量检查、类型验证和转换功能。它确保您的应用程序使用正确的环境变量,并且它们的值符合预期类型。您再也不会因为不正确的环境变量使用而遇到运行时错误。
配置文件位于env.mjs。只需设置您的客户端和服务器变量,然后从项目中的任何文件导入env即可。
export const env = createEnv({ server: { // 服务器变量 SECRET_KEY: z.string(), }, client: { // 客户端变量 API_URL: z.string().url(), }, runtimeEnv: { // 分配运行时变量 SECRET_KEY: process.env.SECRET_KEY, API_URL: process.env.NEXT_PUBLIC_API_URL, }, })
如果未设置所需的环境变量,您将收到错误消息:
❌ 无效的环境变量:{ SECRET_KEY: [ 'Required' ] }
我们随时欢迎贡献!要参与贡献,请遵循以下步骤:
如果您需要帮助或只是想分享您对项目的想法,我们鼓励您加入我们的 Discord 社区。这是链接:https://blazity.com/discord。这是一个交流想法和互相帮助的空间。我们感谢每个人的贡献,期待欢迎您的加入。
<br /> <a href="https://discord.gg/fyWtyNKmfX" style="width: 100%; display: flex; justify-content: center;"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/2be5b301-488e-4c68-a782-86390534ca7c.png?style=banner2" alt="Blazity Discord Banner"/> </a> <br />本项目采用 MIT 许可证。有关更多信息,请参阅LICENSE文件。


阿里Qoder团队推出的桌面端AI智能体
QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零 上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。


全球首个AI音乐社区
音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。


一站式搞定所有学习需求
不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。


为AI短剧协作而生
专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。


能听懂你表达的视频模型
Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。


国内直接访问,限时3折
输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。


零代码AI应用开发平台
零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号