组长:你熟悉过React,开发个Next项目模板吧,我:怎么扯上关系的?
组长:你熟悉过React,开发个Next项目模板吧,我:怎么扯上关系的?
最近工作安排我开发一个Next.js项目模板,心里默笑,React用得少得都快忘光了,现在得搞Next?虽然我曾是React的老用户,但转投Vue阵营已久,React的点点滴滴早已一干二净。
不过,挑战归挑战,规矩还得照做。
我们通常会用内部工具来搭建新项目的雏形。长久不碰React的我,只能边复习边动手。过了 Next.js文档和找度娘,最终还是根据公司的项目框架写出了第一个版本的企业级模板 —— V1:Next.js-Enterprise-Project-Template。
项目简介
这个项目模板是为初学者快速了解 Next.js 企业项目模板大体框架。通过这个模板,可以快速搭建一个标准化的企业项目,减少重复劳动,提高开发效率。模板中集成了多种现代化的开发工具和框架,确保项目的可维护性和扩展性。
项目特点
基于 Next.js 框架:利用 Next.js 强大的功能和灵活性,提供了服务器端渲染和静态站点生成的最佳实践。 使用 TypeScript:整个项目使用 TypeScript 编写,增强了代码的可维护性和可读性,提供了更好的开发体验。 企业级结构:参考公司现有项目的结构,确保代码组织合理,易于扩展和维护。 现代化工具链:集成了现代化的开发工具和库,提升开发效率。
项目要求
pnpm:版本 >= 8 Node.js:版本 >= v18
集成功能
这个模板集成了多种实用功能,确保项目的高效开发和维护:
标准项目目录:提供了一个标准化的项目目录结构,便于代码组织和管理。 环境配置:集成了环境配置管理,方便在不同环境下进行配置切换。 Ant Design UI 框架:集成了 Ant Design UI 框架,提供丰富的 UI 组件,提升开发效率。 样式框架:集成了 Tailwind CSS 和 styled-components,提供灵活的样式管理方案。 状态管理:集成了 Zustand 轻量级状态管理框架,简化状态管理逻辑。 Git 提交验证:集成了 Git 提交验证,确保代码提交的规范性。 API 请求示例:提供了基本的 API 请求示例,方便快速上手。 重要包排序:整理了项目中重要的包,确保依赖关系清晰。 Prettier 格式配置:集成了 Prettier 格式化配置,确保代码风格一致。 Vitest 测试 :集成了 Vitest 单元测试
快速开始
首先,运行开发服务器:
npm run dev
# 或者
pnpm dev
打开 http://localhost:3000 查看结果。
请注意,如果需要测试 API 请求,请运行以下命令:
cd server
pnpm start
部署到 Vercel
部署 Next.js 应用最简单的方法是使用 Vercel 平台,这是 Next.js 的创建者提供的服务。
请查看我们的 Next.js 部署文档 了解更多详情。
改进点
尽管这个模板已经具备了基本的功能,但仍有一些可以改进的地方:
增加测试覆盖:目前模板中缺少集成测试,可以 Cypress 等测试框架,确保代码的稳定性和可靠性。 优化性能:减少打包体积,提高加载速度。 完善文档:虽然模板已经提供了基本的使用说明,但可以进一步完善文档,增加更多使用示例和最佳实践。 国际化支持:添加对多语言的支持,方便项目在不同地区的推广和使用。 样式管理:引入更多现代化的样式解决方案,提升样式管理的灵活性和可维护性。
欢迎大家提出更多的改进建议。
结语
总的来说,这个 Next.js 企业项目模板是一个非常有价值的工具,特别适合初学者和企业开发者使用。它不仅提供了一个标准化的项目结构,还集成了多种现代化的开发工具和框架,确保项目的高效开发和维护。希望这个模板能帮助你更快地上手 Next.js 开发,并构建出高质量的企业应用。
毕竟,无论学习什么框架,最终都是要在实际项目中应用,为公司或个人带来利益。

组长:你熟悉过React,开发个Next项目模板吧,我:怎么扯上关系的?的更多相关文章
- react 开发 PC 端项目(一)项目环境搭建 及 处理 IE8 兼容问题
步骤一:项目环境搭建 首先,你不应该使用 React v15 或更高版本.使用仍然支持 IE8 的 React v0.14 即可. 技术选型: 1.react@0.14 2.bootstrap3 3. ...
- vue开发:前端项目模板
简介 vue-cli创建vue项目,整合vuex.vue-router.axios.element-ui 项目模板下载地址 创建项目 使用vue-cli创建项目,功能选择:Babel.Router.v ...
- react实战项目开发(1) 搭建react开发环境初始化项目(Create-react-app)
前言 Create React App npm install -g create-react-app create-react-app my-app cd my-app npm start 执行命令 ...
- React开发中react-route-dom使用BrowserRouter部署到服务器上刷新时报404的问题
React项目部署中遇到的问题 react开发中react-route使用BrowserRoute路径在iis服务器上刷新时报404的问题 解决:在发布的项目根目录添加web.config配置文件 在 ...
- 带你了解关于FastAPI快速开发Web API项目中的模板和Jinja
摘要:FastAPI 实际上是为构建 API 和微服务而设计的.它可用于构建使用 Jinja 提供 HTML 服务的 Web 应用程序. 本文分享自华为云社区<FastAPI 快速开发 Web ...
- Spring Boot框架开发的Java项目在CentOS7上的部署
需求:上级拿来一份Spring Boot框架开发的Java项目代码让我在服务器上运行起来,只说了一句该框架是自带了Tomcat(不用重新安装Tomcat),一份代码下有两个项目(一个管理端项目,一个用 ...
- React开发入门
目录: 一.前言 二.什么是React 三.开发环境搭建 四.预备知识 五.最简单的React小程序 六.基础语法介绍 七.总结 八.参考资料 一.前言 近段时间看到学长公司招聘React Nat ...
- Webpack笔记(二)——搭建React开发环境
前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...
- redux 介绍及配合 react开发
前言 本文是 Redux 及 Redux 配合 React 开发的教程,主要翻译自 Leveling Up with React: Redux,并参考了 Redux 的文档及一些博文,相对译文原文内容 ...
- 基于Nodejs生态圈的TypeScript+React开发入门教程
基于Nodejs生态圈的TypeScript+React开发入门教程 概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...
随机推荐
- 交互式转化批处理工具 expect
交互式转化批处理工具 expect expect中相关命令 spawn 启动新的进程 expect 从进程接收字符串 send 用于向进程发送字符串 interact 允许用户交互 exp_conti ...
- 基于人类反馈的强化学习,Reinforcement Learning from Human Feedback (RLHF)
基于人类反馈的强化学习, RLHF,转载参考链接 RLHF 是一项涉及多个模型和不同训练阶段的复杂概念,可以按三个步骤分解: 预训练一个语言模型 (LM) : 聚合问答数据并训练一个奖励模型 (Rew ...
- Bike Sharing Analysis(一)- 探索数据
1. Bike Sharing Analysis 在这章主要介绍如何分析共享单车服务数据,以及如何基于时间.天气状态特征来识别单车的使用模式.除此之外,我们还会引入可视化分析,假设检验.以及时间序列分 ...
- Coap 协议学习:具体协议介绍具体
协议框架 CoAP默认运行在UDP上,但它也支持运行在SMS,TCP等数据传输层上.本文主要是基于UDP上的CoAP协议介绍 1.消息模型 Messages COAP协议通信是通过在UDP上传输消息类 ...
- power bi创建切片器导航
现在很多报告使用的是按钮导航,今天分享另外一种方式:切片器导航. 第一步: 新建一个页面导航表,主页-输入数据-[填写列名,每页报表的表名] 如图: [页面导航表] 第二步: 添加一个切片器,将页面导 ...
- node.js 增删改查(原始)
index.js 连接数据库 const mongoose = require('mongoose') //数据库连接27017是mongodb数据库的默认端口 mongoose.connect(' ...
- mac idea快捷键整理
抽取局部变量 option+commamd+v 生成方法内变量 option+commamd+f 生成类的静态变量 找方法 2次shift 优化import Ctrl + Alt + O 格式化代码 ...
- MySQL 并发控制(锁得使用)
导读 并发问题:同一时刻进行读写,并发问题回引发数据不一致问题. 解决并发问题:MySQL采用了锁定机制去解决并发问题 锁的分类 MySQL使用两种锁机制去解决问题:共享锁和排他锁,也叫读锁或者写锁. ...
- Spring的IOC容器类别概述
Spring的IOC该如何理解呢? 平常在一个方法当中,若要用到外部另一个类里的非静态方法,首先,需要先通过new一个对象,再根据这个对象去调用其方法.若只需要一两个对象还好,一旦涉及的外部对象多了, ...
- 全网最适合入门的面向对象编程教程:04 类和对象的 Python 实现-为自定义类添加方法(PySerial 库接收串口数据)
全网最适合入门的面向对象编程教程:04 类和对象的 Python 实现-为自定义类添加方法(PySerial 库接收串口数据) 摘要: 本文我们主要讲解了如何为自定义类添加方法,pyseria 库的基 ...