Remix Antd Admin Electron



基于 Electron/Remix/Antd/Echarts/Styled-components 的管理系统,可能疾速初始化我的项目。

我的项目地址

electron repo: https://github.com/yyong008/remix-antd-admin-electron

Web websit: https://remix-antd-admin.vercel.app/

以后 Remix 版本

1.51.0

设计动机

Remix 的设计范式简略不便,整个利用就是一个路由器,并且是前后端买通的路由器。表单设计使得 Remix 的表单能力更加简略不便。在后盾管理系统中,数据展现与数据录入,以及页面切换占据重要地位,Remix 设计仿佛特贴的简略贴切。集成 Antd UI 我的项目能力,能疾速实现具备丑陋 UI 简略的后盾管理系统。

Core Packages

electron packagedesc
remix-electronElectron 集成到 Remix ⚛
electron外围包
@remix-run/server-runtimeremix 运行时
nodemon监听文件自动更新文件

减少右面主文件

  • desktop/main.js
const { initRemix } = require("remix-electron");const { app, BrowserWindow, dialog } = require("electron");const { join } = require("node:path");/** @type {BrowserWindow | undefined} */let win;/** @param {string} url */async function createWindow(url) {  win = new BrowserWindow({ show: false });  await win.loadURL(url);  win.show();  if (process.env.NODE_ENV === "development") {    win.webContents.openDevTools();  }}app.on("ready", async () => {  try {    if (process.env.NODE_ENV === "development") {      const {        default: installExtension,        REACT_DEVELOPER_TOOLS,      } = require("electron-devtools-installer");      await installExtension(REACT_DEVELOPER_TOOLS);    }    const url = await initRemix({ serverBuild: join(__dirname, "build") });    await createWindow(url);  } catch (error) {    dialog.showErrorBox("Error", getErrorStack(error));    console.error(error);  }});/** @param {unknown} error */function getErrorStack(error) {  return error instanceof Error ? error.stack || error.message : String(error);}

减少 Remix 配置文件

// remix.config.js/** * @type {import('@remix-run/dev/config').AppConfig} */module.exports = {  serverBuildPath: "desktop/build/index.js",  // ...};

减少 nodemon.json

{  "$schema": "https://json.schemastore.org/nodemon.json",  "exec": "electron",  "watch": ["desktop"],  "ignore": ["desktop/build"],  "execMap": {    "ts": "ts-node"  }}

外围包

阐明
remix1.51.0(外围包)
antd5.3.1(外围 UI 包)
styled-componentscss-in-js 解决方案(外围 css 解决方案)
remix-utilsRemix 的 常用工具,例如:仅仅在服务端然组件 <ClientOnly> 组件(外围工具)

国际化

国际化包阐明
remix-i18next很容的形式翻译你的 remix 利用

图表库

选图表留神反对 ssr

图表库阐明
echarts5.3.9 次要图表(思考 Remix 须要服务端渲染等问题)
echarts-for-react基于 React 封装 echarts 组件
react-mindReact 脑图
react-mindmapReact 脑图
react-wordcloudReact 云词图 反对 ssr
reactflow流程图
echarts-liquidfill-ssr水滴图

裁剪工具

  • react-advanced-cropper
pnpm install react-advanced-cropper

长处

简单明了的路由书写范式,简略的数据获取和表单能力

  • 弱小的文件路由范式
  • loader 获取数据
  • action 解决表单数据

npmrc config

# 将pnpm变成扁平化架构node-linker=hoisted# 在国内应用pnpm装置electron须要配置一下electron的下载门路electron_mirror="https://npm.taobao.org/mirrors/electron/"

应用办法

Use pnpm

# serverpnpm run dev # pnpm dev# buildpnpm run build # pnpm build

格式化工具

"scripts": {    "prettier": "prettier --write app/ public/locales"}

格式化代码命令

pnpm run prettier

构建

pnpm run build

构建结束,如果失常会在 dist 目录下生成一个 exe 后缀的文件。

  • dist/remix-antd-admin Setup <package.json version>.exe 而后就能够间接装置了

反对

目前作者长期处于爱发电的状态,如果本我的项目可能帮忙到你无妨请作者喝一杯咖啡,有你的反对,开源我的项目将失去更好的保护,也崔进输入更加高质量的代码,当然也能够参加到此我的项目中成为我的项目的参与者,同时冀望提出宝贵意见以便我的项目能失去更好的保护和倒退。

分享

感谢您抽出工夫来浏览这篇文章。如果它对您有帮忙或者启发,请思考给它一个点赞,这将激励咱们持续为您提供更好的内容。同时,咱们的公众号(进二开物)会不定期分享相似的内容,如果您感兴趣,欢送关注咱们。再次感谢您的浏览和反对!