Remix 后臺(tái)桌面開發(fā)electron-remix-antd-admin
Remix Antd Admin Electron



基于 Electron/Remix/Antd/Echarts/Styled-components 的管理系統(tǒng),能夠快速初始化項(xiàng)目。
項(xiàng)目地址
electron repo: github.com/yyong008/re…
Web websit: remix-antd-admin.vercel.app/
當(dāng)前 Remix 版本
1.51.0
設(shè)計(jì)動(dòng)機(jī)
Remix 的設(shè)計(jì)范式簡(jiǎn)單方便,整個(gè)應(yīng)用就是一個(gè)路由器,并且是前后端打通的路由器。表單設(shè)計(jì)使得 Remix 的表單能力更加簡(jiǎn)單方便。在后臺(tái)管理系統(tǒng)中,數(shù)據(jù)展示與數(shù)據(jù)錄入,以及頁(yè)面切換占據(jù)重要位置,Remix 設(shè)計(jì)似乎特貼的簡(jiǎn)單貼切。集成 Antd UI 項(xiàng)目能力,能快速實(shí)現(xiàn)具有漂亮 UI 簡(jiǎn)單的后臺(tái)管理系統(tǒng)。
Core Packages
| electron package | desc |
|---|---|
| remix-electron | Electron 集成到 Remix ??? |
| electron | 核心包 |
| @remix-run/server-runtime | remix 運(yùn)行時(shí) |
| nodemon | 監(jiān)聽文件自動(dòng)更新文件 |
增加左面主文件
- 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"
}
}
核心包
國(guó)際化
| 國(guó)際化包 | 說明 |
|---|---|
| remix-i18next | 很容的方式翻譯你的 remix 應(yīng)用 |
圖表庫(kù)
選圖表注意支持 ssr
| 圖表庫(kù) | 說明 |
|---|---|
| echarts | 5.3.9 主要圖表(考慮 Remix 需要服務(wù)端渲染等問題) |
| echarts-for-react | 基于 React 封裝 echarts 組件 |
| react-mind | React 腦圖 |
| react-mindmap | React 腦圖 |
| react-wordcloud | React 云詞圖 支持 ssr |
| reactflow | 流程圖 |
| echarts-liquidfill-ssr | 水滴圖 |
裁剪工具
pnpm install react-advanced-cropper
優(yōu)點(diǎn)
簡(jiǎn)單明了的路由書寫范式,簡(jiǎn)單的數(shù)據(jù)獲取和表單能力
- 強(qiáng)大的文件路由范式
- loader 獲取數(shù)據(jù)
- action 處理表單數(shù)據(jù)
npmrc config
# 將pnpm變成扁平化架構(gòu) node-linker=hoisted # 在國(guó)內(nèi)使用pnpm安裝electron需要配置一下electron的下載路徑 electron_mirror="https://npm.taobao.org/mirrors/electron/"
使用方法
Use pnpm
# server pnpm run dev # pnpm dev # build pnpm run build # pnpm build
格式化工具
"scripts": {
"prettier": "prettier --write app/ public/locales"
}
格式化代碼命令
pnpm run prettier
構(gòu)建
pnpm run build
構(gòu)建完畢,如果正常會(huì)在 dist 目錄下生成一個(gè) exe 后綴的文件。
dist/remix-antd-admin Setup <package.json version>.exe然后就可以直接安裝了
支持
目前作者長(zhǎng)期處于愛發(fā)電的狀態(tài),如果本項(xiàng)目能夠幫助到你不妨請(qǐng)作者喝一杯咖啡,有你的支持,開源項(xiàng)目將得到更好的維護(hù),也崔進(jìn)輸出更加高質(zhì)量的代碼,當(dāng)然也可以參與到此項(xiàng)目中成為項(xiàng)目的參與者,同時(shí)期望提出寶貴意見以便項(xiàng)目能得到更好的維護(hù)和發(fā)展。
以上就是Remix 后臺(tái)桌面開發(fā)electron-remix-antd-admin的詳細(xì)內(nèi)容,更多關(guān)于electron-remix-antd-admin桌面的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
react-intl實(shí)現(xiàn)React國(guó)際化多語言的方法
這篇文章主要介紹了react-intl實(shí)現(xiàn)React國(guó)際化多語言的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
使用react-activation實(shí)現(xiàn)keepAlive支持返回傳參
本文主要介紹了使用react-activation實(shí)現(xiàn)keepAlive支持返回傳參,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
使用 React Router Dom 實(shí)現(xiàn)路由導(dǎo)航的詳細(xì)過程
React Router Dom 是 React 應(yīng)用程序中用于處理路由的常用庫(kù),它提供了一系列組件和 API 來管理應(yīng)用程序的路由,這篇文章主要介紹了使用 React Router Dom 實(shí)現(xiàn)路由導(dǎo)航,需要的朋友可以參考下2024-03-03
搭建React?Native熱更新平臺(tái)的詳細(xì)過程
這篇文章主要介紹了搭建React?Native熱更新平臺(tái),要實(shí)現(xiàn)?React?Native?熱更新功能,有四種思路?Code?Push、Pushy、Expo?和自研,感興趣的朋友一起通過本文學(xué)習(xí)吧2022-05-05
React子組件調(diào)用父組件方法獲取的數(shù)據(jù)不是最新值的解決方法
這篇文章主要介紹了React子組件調(diào)用父組件方法獲取的數(shù)據(jù)不是最新值的解決方法,文中通過代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09
VSCode 配置React Native開發(fā)環(huán)境的方法
本篇文章主要介紹了VSCode 配置React Native開發(fā)環(huán)境的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12

