组长:你熟悉过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 部署文档 了解更多详情。

改进点

尽管这个模板已经具备了基本的功能,但仍有一些可以改进的地方:

  1. 增加测试覆盖:目前模板中缺少集成测试,可以 Cypress 等测试框架,确保代码的稳定性和可靠性。
  2. 优化性能:减少打包体积,提高加载速度。
  3. 完善文档:虽然模板已经提供了基本的使用说明,但可以进一步完善文档,增加更多使用示例和最佳实践。
  4. 国际化支持:添加对多语言的支持,方便项目在不同地区的推广和使用。
  5. 样式管理:引入更多现代化的样式解决方案,提升样式管理的灵活性和可维护性。

欢迎大家提出更多的改进建议。

结语

总的来说,这个 Next.js 企业项目模板是一个非常有价值的工具,特别适合初学者和企业开发者使用。它不仅提供了一个标准化的项目结构,还集成了多种现代化的开发工具和框架,确保项目的高效开发和维护。希望这个模板能帮助你更快地上手 Next.js 开发,并构建出高质量的企业应用。

毕竟,无论学习什么框架,最终都是要在实际项目中应用,为公司或个人带来利益。

组长:你熟悉过React,开发个Next项目模板吧,我:怎么扯上关系的?的更多相关文章

  1. react 开发 PC 端项目(一)项目环境搭建 及 处理 IE8 兼容问题

    步骤一:项目环境搭建 首先,你不应该使用 React v15 或更高版本.使用仍然支持 IE8 的 React v0.14 即可. 技术选型: 1.react@0.14 2.bootstrap3 3. ...

  2. vue开发:前端项目模板

    简介 vue-cli创建vue项目,整合vuex.vue-router.axios.element-ui 项目模板下载地址 创建项目 使用vue-cli创建项目,功能选择:Babel.Router.v ...

  3. 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 执行命令 ...

  4. React开发中react-route-dom使用BrowserRouter部署到服务器上刷新时报404的问题

    React项目部署中遇到的问题 react开发中react-route使用BrowserRoute路径在iis服务器上刷新时报404的问题 解决:在发布的项目根目录添加web.config配置文件 在 ...

  5. 带你了解关于FastAPI快速开发Web API项目中的模板和Jinja

    摘要:FastAPI 实际上是为构建 API 和微服务而设计的.它可用于构建使用 Jinja 提供 HTML 服务的 Web 应用程序. 本文分享自华为云社区<FastAPI 快速开发 Web ...

  6. Spring Boot框架开发的Java项目在CentOS7上的部署

    需求:上级拿来一份Spring Boot框架开发的Java项目代码让我在服务器上运行起来,只说了一句该框架是自带了Tomcat(不用重新安装Tomcat),一份代码下有两个项目(一个管理端项目,一个用 ...

  7. React开发入门

    目录: 一.前言 二.什么是React 三.开发环境搭建 四.预备知识 五.最简单的React小程序 六.基础语法介绍 七.总结 八.参考资料   一.前言 近段时间看到学长公司招聘React Nat ...

  8. Webpack笔记(二)——搭建React开发环境

    前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...

  9. redux 介绍及配合 react开发

    前言 本文是 Redux 及 Redux 配合 React 开发的教程,主要翻译自 Leveling Up with React: Redux,并参考了 Redux 的文档及一些博文,相对译文原文内容 ...

  10. 基于Nodejs生态圈的TypeScript+React开发入门教程

    基于Nodejs生态圈的TypeScript+React开发入门教程   概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...

随机推荐

  1. 交通规划四阶段法:基于 Python 的交通分布预测算法复现 - 附完整代码链接

    目录 交通规划四阶段法:基于 Python 的交通分布预测算法复现 - 附完整代码链接 我只是想使用这些代码 下载代码文件 代码的使用方法 合作 部分代码内容的展示 交通规划四阶段法:基于 Pytho ...

  2. Linux增加系统调用(亲测成功)

    我使用的操作系统是CentOS,其他的操作系统类似. 相关软件和Linux的基础操作这里不再赘述. 实验环境              VMWare Workstation.CentOS-7 实验步骤 ...

  3. python利用公私钥加解密

    小贴士 这里不再赘述公私钥的生成过程.可以利用OpenSSL进行生成. 加密代码 #!/usr/bin/python #加密 #conda install pycrypto #提前安装模块 impor ...

  4. HDOJ 6703 Array

    HDOJ 6703 Array 题目 题目链接 array *Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K ...

  5. css定位 position:sticky

    今天在做css定位的时候遇到一个问题,我想用fixed定位下来,但是发现这个时候定义的百分百宽度不随着父元素走了而是整个屏幕的百分百,这个就很尴尬了,也不能固定宽度吧,毕竟还要宽度自适应. 这个时候发 ...

  6. P8451 题解

    显然,题面明摆着让你写一个可持久化 AC 自动机. 但是从空间来说这是不可能的. 想起做 不强制在线 的可持久化数据结构的一种方法,建立"时光树",具体来说,假若版本 \(x\) ...

  7. CF1862C 题解

    考虑每个木板在水平放置后对每个位置上产生的贡献. 稍微手玩几组样例: 不难发现一个高度为 \(h\) 的木板在水平放置后会是位置 \([1,h]\) 上高度增加 \(1\). 但是高度最大是 \(10 ...

  8. Spring中文官方文档

    Spring 中文文档 https://springdoc.cn/ Spring Boot 中文文档 https://www.docs4dev.com/docs/zh/spring-boot/1.5. ...

  9. mysql 授权远程连接

    解决方案 改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 &quo ...

  10. 洛谷P1432

    水一道绿题,整体思路和八数码很像,哈希表存解,然后常规模拟即可 #include<iostream> #include<utility> #include<queue&g ...