Remix 后台桌面开发electron-remix-antd-admin

 更新时间:2023年04月13日 09:08:20   作者:乔治_x  
这篇文章主要为大家介绍了Remix 后台桌面开发electron-remix-antd-admin的过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Remix Antd Admin Electron

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

项目地址

electron repo: github.com/yyong008/re…

Web websit: 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"
  }
}

核心包

国际化

国际化包说明
remix-i18next很容的方式翻译你的 remix 应用

图表库

选图表注意支持 ssr

图表库说明
echarts5.3.9 主要图表(考虑 Remix 需要服务端渲染等问题)
echarts-for-react基于 React 封装 echarts 组件
react-mindReact 脑图
react-mindmapReact 脑图
react-wordcloudReact 云词图 支持 ssr
reactflow流程图
echarts-liquidfill-ssr水滴图

裁剪工具

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

# server
pnpm run dev # pnpm dev
# build
pnpm 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 然后就可以直接安装了

支持

目前作者长期处于爱发电的状态,如果本项目能够帮助到你不妨请作者喝一杯咖啡,有你的支持,开源项目将得到更好的维护,也崔进输出更加高质量的代码,当然也可以参与到此项目中成为项目的参与者,同时期望提出宝贵意见以便项目能得到更好的维护和发展。

以上就是Remix 后台桌面开发electron-remix-antd-admin的详细内容,更多关于electron-remix-antd-admin桌面的资料请关注脚本之家其它相关文章!

相关文章

  • ReactRouter的实现方法

    ReactRouter的实现方法

    这篇文章主要介绍了ReactRouter的实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • React组件二次包装的具体实现

    React组件二次包装的具体实现

    本文主要介绍了React组件二次包装的具体实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • ahooks解决用户多次提交方法示例

    ahooks解决用户多次提交方法示例

    这篇文章主要为大家介绍了ahooks解决用户多次提交的方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • React冒泡和阻止冒泡的应用详解

    React冒泡和阻止冒泡的应用详解

    这篇文章主要介绍了React冒泡和阻止冒泡的应用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • react-redux中connect()方法详细解析

    react-redux中connect()方法详细解析

    connect()是React-redux中的核心方法之一,它将react组件预redux中的Store真正连接在一起,下面这篇文章主要给大家介绍了react-redux中connect()方法的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • React native ListView 增加顶部下拉刷新和底下点击刷新示例

    React native ListView 增加顶部下拉刷新和底下点击刷新示例

    这篇文章主要介绍了React native ListView 增加顶部下拉刷新和底下点击刷新示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • React-Native中禁用Navigator手势返回的示例代码

    React-Native中禁用Navigator手势返回的示例代码

    本篇文章主要介绍了React-Native中禁用Navigator手势返回的示例代码,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • react项目引入antd框架方式以及遇到的一些坑

    react项目引入antd框架方式以及遇到的一些坑

    这篇文章主要介绍了react项目引入antd框架方式以及遇到的一些坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 再次谈论React.js实现原生js拖拽效果引起的一系列问题

    再次谈论React.js实现原生js拖拽效果引起的一系列问题

    React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.本文给大家介绍React.js实现原生js拖拽效果,需要的朋友一起学习吧
    2016-04-04
  • 基于React.js实现原生js拖拽效果引发的思考

    基于React.js实现原生js拖拽效果引发的思考

    这篇文章主要为大家详细介绍了基于React.js实现原生js拖拽效果,继而引发的一系列思考,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03

最新评论