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 package | desc |
---|---|
remix-electron | Electron 集成到 Remix ⚛ |
electron | 外围包 |
@remix-run/server-runtime | remix 运行时 |
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" }}
外围包
包 | 阐明 |
---|---|
remix | 1.51.0(外围包) |
antd | 5.3.1(外围 UI 包) |
styled-components | css-in-js 解决方案(外围 css 解决方案) |
remix-utils | Remix 的 常用工具,例如:仅仅在服务端然组件 <ClientOnly> 组件(外围工具) |
国际化
国际化包 | 阐明 |
---|---|
remix-i18next | 很容的形式翻译你的 remix 利用 |
图表库
选图表留神反对 ssr
图表库 | 阐明 |
---|---|
echarts | 5.3.9 次要图表(思考 Remix 须要服务端渲染等问题) |
echarts-for-react | 基于 React 封装 echarts 组件 |
react-mind | React 脑图 |
react-mindmap | React 脑图 |
react-wordcloud | React 云词图 反对 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
而后就能够间接装置了
反对
目前作者长期处于爱发电的状态,如果本我的项目可能帮忙到你无妨请作者喝一杯咖啡,有你的反对,开源我的项目将失去更好的保护,也崔进输入更加高质量的代码,当然也能够参加到此我的项目中成为我的项目的参与者,同时冀望提出宝贵意见以便我的项目能失去更好的保护和倒退。
分享
感谢您抽出工夫来浏览这篇文章。如果它对您有帮忙或者启发,请思考给它一个点赞,这将激励咱们持续为您提供更好的内容。同时,咱们的公众号(进二开物
)会不定期分享相似的内容,如果您感兴趣,欢送关注咱们。再次感谢您的浏览和反对!