从零打造一款基于Nextjs+antd5.0的中后台管理系统

hi, 大家好,我是徐小夕,最近在研究nextjs, 为了更全面复盘总结nextjs, 我写了一个开箱即用的基于 next 的后台管理系统, 供大家学习参考.

b702e8a185ef8256865fc378c3ef5819.png

github地址:https://github.com/MrXujiang/next-admin

演示地址:http://next-admin.com

接下来我就和大家介绍一下 Next-Admin 这款中后台管理系统。

为什么要用Nextjs

18eba1f788d2c6c71492a40faa47e512.png

首先从官网上我们可以了解到 Next.js 提供了先进的服务端渲染(SSR)和静态生成(SSG)能力,使得我们能够在服务器上生成动态内容并将其直接发送给客户端,从而大大减少首次加载的等待时间。这样可以提高网站的性能搜索引擎优化(SEO)以及用户体验

在深度使用 next.js 开发应用之后,我总结了以下使用它的优点:

  • 支持高效的服务端渲染和静态页面生成能力

  • 规则化的路由系统(保证页面更有组织层次,能更好的管理多页面)

  • 规范且颗粒度的API开发模式(更好的规范接口和业务调用)

  • 支持复杂系统的搭建(优雅的SPA单页模式和MPA多页面模式)

  • 部署和开发成本很低(前后端同构更优雅)

所以基于以上体验和思考,我决定在后面的产品和系统上都采用 Next 来开发。

Next-Admin 特点

3bd3bce7cb45e9db124bab77f8a1fcfa.png

去年值得高兴的事情是 antd5.0 发布了,从组件UI和设计架构上都有了很大的改进,尤其是 Design Token . 有了它我们可以轻松的实时切换网站主题风格, 并且在应用里复用 antd 的设计语言。

0aebe86dd54c6b282ffb7dd9dc201242.png

所以为了更好的方便国内开发者使用 nextjs 开发中后台系统,我打算使用 antd5.0 作为UI库来开发, 大家也可以在 Next-Admin 的基础上改造成自己的中后台系统。

接下来就来介绍一下 Next-Admin 的特点。

1. 内置基础的登录注册页面

149976731a831e06f048a81c020a2470.png

2. 内置可拖拽的数据报表

b992ef61c56b5c2866e7b1bda77de131.png

在内置常用数据看板的同时我还支持了看板拖拽功能, 让用户更高效的消费数据。

3. 内置监控大屏页面

9e186a715dccd54042c6fb2c66846261.png

4. 内置常用的搜索列表

2924f0830ce01be8581bb818337d2284.png

5. 支持内嵌第三方系统

f7426ccfe1f2141651d6604649313a8b.png

上图演示的是内嵌表单搭建引擎 https://turntip.cn/formManager 的案例。

6. 内置空白Landing页面

a9e4a779816175396782867107fceca7.png

7. 支持国际化 & 一键换肤

暗模式:fce458650885bc0d18c032cbc1a85b07.png

明模式:

00434207fcaf619748774d428d67346e.png

国际化用到了 next-intl 第三方模块,核心实现如下:

import {headers} from 'next/headers';
import {notFound} from 'next/navigation';
import {getRequestConfig} from 'next-intl/server';
import {locales} from './navigation';


export default getRequestConfig(async ({locale}) => {
  // Validate that the incoming `locale` parameter is valid
  if (!locales.includes(locale as any)) notFound();


  const now = headers().get('x-now');
  const timeZone = headers().get('x-time-zone') ?? 'Europe/Vienna';
  const messages = (await import(`../messages/${locale}.json`)).default;


  return {
    now: now ? new Date(now) : undefined,
    timeZone,
    messages,
    defaultTranslationValues: {
      globalString: 'Global string',
      highlight: (chunks) => <strong>{chunks}</strong>
    },
    formats: {
      dateTime: {
        medium: {
          dateStyle: 'medium',
          timeStyle: 'short',
          hour12: false
        }
      }
    },
    onError(error) {
      if (
        error.message ===
        (process.env.NODE_ENV === 'production'
          ? 'MISSING_MESSAGE'
          : 'MISSING_MESSAGE: Could not resolve `missing` in `Index`.')
      ) {
        // Do nothing, this error is triggered on purpose
      } else {
        console.error(JSON.stringify(error.message));
      }
    },
    getMessageFallback({key, namespace}) {
      return (
        '`getMessageFallback` called for ' +
        [namespace, key].filter((part) => part != null).join('.')
      );
    }
  };
});

同时项目还集成了很多优秀的开发工具,方便大家更高效的开发业务系统。

如果你对 next 开发或者需要开发一套管理系统, 我相信 Next-Admin 会给你开发和学习的灵感。

32e4d721c9f28b2d116658d948a8fa42.png

同时也欢迎和我一起贡献, 让它变得更优秀~

github地址:https://github.com/MrXujiang/next-admin

演示地址:http://next-admin.com

最后

后期我会在视频号分享更多 next 的实战项目和可视化零代码最佳实战,也欢迎关注我的视频号获取更多有意思的前端知识:

往期文章

outside_default.png

outside_default.png

点个在看你最好看

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React全家桶是指使用React作为开发框架时所使用的相关技术和工具的集合,包括React、React Router、Redux等。而Ant Design是一款由蚂蚁金服团队开发的React组件库,提供了丰富的基础组件和模板,可以帮助我们快速构建美观、可靠的后台管理系统。 在开发共享单车后台管理系统时,使用React全家桶和Ant Design框架可以带来一系列的优势。首先,React可以帮助我们构建可复用的组件,通过组件化的开发方式提高开发效率和代码的可维护性。其次,React Router实现了前端路由的管理,可以实现多页面之间的无刷新跳转,提升用户体验。再者,Redux是一个可预测状态管理的容器,可以方便地管理应用的状态和数据流动,提供了一种可靠的数据管理方式。 Ant Design作为一个UI组件库,提供了丰富的基础组件和模板,可以帮助我们快速构建整洁美观的后台管理系统。它的组件库包括了输入框、按钮、表格、图标等常见组件,还有一些特殊的业务组件,比如日期选择器、地图等等。通过使用Ant Design的组件库,我们可以快速搭建界面,减少开发时间,提高开发效率。同时,Ant Design提供了一套规范的设计语言和配色方案,保证了整个系统在视觉上的一致性,提升了用户的使用体验。 综上所述,使用React全家桶和Ant Design框架开发共享单车后台管理系统,可以提高开发效率、代码可维护性和用户体验。同时,Ant Design的美观、可靠的组件库能够有效地帮助我们构建一个优质的后台管理系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值