seekafter
V2EX  ›  Node.js

node 写的程序怎么打包成 exe

  •  
  •   seekafter · Aug 14, 2024 · 5622 views
    This topic created in 659 days ago, the information mentioned may be changed or developed.

    兄弟们,看见群友挣钱我好急啊 node 写的应用一般都是监听端口吧 能不能直接封装成 exe,双击就能运行的那种,哪怕双击后是打开浏览器访问地址呢 我是用的 nuxt,前后端都在一起的,求大佬 Electron 先不考虑吧,体积太大了 1723623237732.png

    35 replies    2025-12-18 09:01:52 +08:00
    BG7ZAG
        1
    BG7ZAG  
       Aug 14, 2024
    Tauri
    wakarimasen
        2
    wakarimasen  
       Aug 14, 2024   ❤️ 2
    1. tauri, wails ...
    2. https://github.com/vercel/pkg
    3. deno compile
    4. 用别的语言写个 NodeJS 自解压程序

    折腾半生,归来仍是 Electron
    w568w
        3
    w568w  
       Aug 14, 2024   ❤️ 4
    wzdsfl
        4
    wzdsfl  
       Aug 14, 2024
    querysecret
        5
    querysecret  
       Aug 14, 2024
    嫌 electron 体积太大,抓紧放弃用 node 写
    wen20
        6
    wen20  
       Aug 14, 2024
    @angrylid 请教个问题 Electron windows 系统保病毒吗, wails 报木马病毒。
    FightPig
        7
    FightPig  
       Aug 14, 2024
    @wen20 go 写的东西在 win 下不知道为啥,很容易报毒,后面我们用 rust 重写了,结果一年后,360 报毒,后来弄成 Electron ,再没报
    lneoi
        8
    lneoi  
       Aug 14, 2024
    renmu
        9
    renmu  
       Aug 14, 2024 via Android
    一顿折腾,最后发现还是 electron 最香
    ming2050
        10
    ming2050  
       Aug 14, 2024
    2B 的应用,其实除了开发者,没人会在意大小,只要别太离谱。
    106npo
        11
    106npo  
       Aug 14, 2024 via Android
    压缩包放个 “运行我.bat”不行?
    wen20
        12
    wen20  
       Aug 14, 2024
    @FightPig 没准是因为 vscode 基于 Electron 开发, 所以 windows 对 Electron 友好不报毒。
    censujiang
        13
    censujiang  
       Aug 14, 2024
    electron
    CodeCodeStudy
        14
    CodeCodeStudy  
       Aug 14, 2024
    @FightPig electron 太大了,一般来说病毒不会搞这么大的,太显眼了
    IamUNICODE
        15
    IamUNICODE  
       Aug 14, 2024
    只用过 pkg 的路过。。
    user1284
        16
    user1284  
       Aug 14, 2024   ❤️ 2
    @FightPig 身上有 rust 味儿, 被闻出来了
    hatch
        17
    hatch  
       Aug 14, 2024
    pkg 挺好用的
    aikilan
        18
    aikilan  
       Aug 14, 2024
    Electron 的坏处是啥?你从技术的角度出发觉得这个东西过于冗余,但是从客户角度出发,人家根本不关心。。。。
    yanulg
        19
    yanulg  
       Aug 14, 2024
    pkg 就行了
    ahzjm
        20
    ahzjm  
       Aug 14, 2024
    楼主交个我,收益分你点
    Trim21
        21
    Trim21  
       Aug 14, 2024
    借楼问一下,不需要桌面环境,直接开个 http 服务器搭配浏览器的 nodejs 程序用什么工具比较合适?之前一直用的 pkg ,现在 pkg 停止维护了
    laikicka
        22
    laikicka  
       Aug 14, 2024
    Nexe?
    laikicka
        23
    laikicka  
       Aug 14, 2024
    @Trim21 vercel fork 了一份 vercel/pkg. 应该还能接着用.
    laikicka
        24
    laikicka  
       Aug 14, 2024
    @laikick 搞错了. vercel 不是 fork.
    NotAfraidLP
        25
    NotAfraidLP  
       Aug 14, 2024   ❤️ 1
    electron 现在打 exe 的包有 `portable` 版的, 几十 M 大小, 免安装的
    AV1
        26
    AV1  
       Aug 14, 2024
    你用 bat 文件写个启动命令,然后告诉客户用这个 bat 文件来启动程序。
    zhyl
        27
    zhyl  
       Aug 14, 2024
    试试能不能用 bun --bun 跑,可以的话直接 bun build --compile 编译成独立二进制文件
    eyeix
        28
    eyeix  
       Aug 15, 2024 via iPhone
    @NotAfraidLP 正解
    kero991
        29
    kero991  
       Aug 15, 2024
    tauri 吧,我最近挺喜欢这个,打包只有几 m 大
    但是 win7 不能用
    seekafter
        30
    seekafter  
    OP
       Aug 15, 2024
    @kero991 我用 tauri 构建成功了,请问构建后我需要用程序提供接口,直接浏览器访问 http://localhost:1240 咋访问不到了呢
    pnpm create tauri-app --alpha 创建的项目
    vite 配置添加了 host:0.0.0.0
    seekafter
        31
    seekafter  
    OP
       Aug 15, 2024
    @DOLLOR 现在就是这样用的.程序是 node 写的,这样打包需要客户有 node 环境
    seekafter
        32
    seekafter  
    OP
       Aug 15, 2024
    seekafter
        33
    seekafter  
    OP
       Aug 15, 2024
    GoRoad
        34
    GoRoad  
       Aug 15, 2024
    还得是 electron 啊
    seekafter
        35
    seekafter  
    OP
       Dec 18, 2025
    自己回复下吧. 当时嫌弃 electron,但现在的最终解决方案还是 electron. 项目是 https://github.com/wodepig/xxdl-electron
    其实就是一个空白的 electron 项目,启动时执行初始化脚本下载 dist.zip,然后用 electron 自带的 node 运行.
    简单一点的方法可以用 python 写, 自动下载 node 和 dist.zip 并运行. 目前打包体积是 140m,用了 minielectron 后 50m 左右, 能接受.
    另外不建议用 tauri 了, 因为我的是 nuxt 全栈项目,tauri 无法打包. 需要把项目变成 sidecar 才能携带, 太麻烦了不会用.
    pkg 相关的也用过, node 版本过低
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5384 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 101ms · UTC 07:11 · PVG 15:11 · LAX 00:11 · JFK 03:11
    ♥ Do have faith in what you're doing.