V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tangchi695
V2EX  ›  Node.js

将一个 nodejs 服务(用 midway 写的),打包进 electron 的最佳实践?

  •  
  •   tangchi695 · 7 天前 · 1244 次点击
    因为项目需求要把一个本来是前后端分离的项目,都打包进 electron,大佬提供下思路?问了 AI 改了半天打包都启动不了.
    第 1 条附言  ·  6 天前
    最终弄出来的办法,直接把 electron 和 electron-builder 的安装到了 midway 项目的依赖里面,然后配置好 electron-builder ,再从 main 进程里面启动 bootstrap.js ,顺利启动了。
    之前的思路一直是在父级文件夹建的 electron 项目,尝试把 midway 项目和前端项目加载进去😢
    yozoh1163
        1
    yozoh1163  
       7 天前
    试试先把 midway 服务单文件构建一下?
    tangchi695
        2
    tangchi695  
    OP
       7 天前
    @yozoh1163 嗯,刚刚看到 midway 文档这里单文件部署,我试试看.
    yexiaoqiu358
        3
    yexiaoqiu358  
       7 天前
    electron 启动的时候 node 开启一个子进程去运行 midway
    otakustay
        4
    otakustay  
       7 天前
    不是 main 里直接把 server 启动,分配个端口就行了吗?然后前端部分直接连这端口,当 electron 的 main 线程不存在就好了
    lbunderway
        5
    lbunderway  
       7 天前
    你在 app.whenReady() 中执行你的 server 就可以了
    wangtian2020
        6
    wangtian2020  
       7 天前
    直接写在 node 进程里就行了,即把你所有的后端代码拷进 electron-main.js

    我有一个想法是直接在 electron-main.js 里启动 node-red 图形化编程,部署更方便
    tangchi695
        7
    tangchi695  
    OP
       7 天前
    @otakustay 打包以后引入到 electron main 进程里面启动,应该是启动过程文件扫描的问题.
    musi
        8
    musi  
       6 天前
    不建议直接放 main 进程,建议用 main 进程起个子进程
    SHF
        10
    SHF  
       6 天前
    不需要 electron 用 node single executable app 的能力就好了,我自己做过一个工具,生成单个 .exe 文件,双击之后自动打开网页连到工具的 http 服务器
    https://nodejs.org/docs/latest/api/single-executable-applications.html
    jeesk
        11
    jeesk  
       6 天前 via Android
    资料不够呗, 你给 ai 喂点语料
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3338 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:53 · PVG 12:53 · LAX 20:53 · JFK 23:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.