• 请不要在回答技术问题时复制粘贴 AI 生成的内容
usdc
0.01D
V2EX  ›  程序员

写了一个 node 脚本,如何让其他人不用安装 node 也可以直接使用呢

  •  
  •   usdc · Jan 17, 2023 · 4422 views
    This topic created in 1390 days ago, the information mentioned may be changed or developed.
    18 replies  •  2023-01-18 09:40:53 +08:00
    nomagick
    nomagick
    Jan 17, 2023❤️1
    1
    nexe
    vercel/pkg
    dlsflh
    dlsflh
    Jan 17, 2023 via Android
    2
    变成 exe ?
    94
    94
    Jan 17, 2023
    3
    没办法,运行得有 js runtime 才行。如果只是简单的处理,可以直接写批处理吧,就不用 NodeJS 了。
    crysislinux
    crysislinux
    Jan 17, 2023 via Android
    4
    所以 go 那么火呢。写个小工具编译部署起来委实便利
    usdc
    usdc
    OP
    Jan 17, 2023❤️1
    5
    @nomagick #1 在看 pkg 谢谢
    JiuW
    JiuW
    Jan 17, 2023 via Android
    6
    使用 pkg 打包
    wangtian2020
    wangtian2020
    Jan 17, 2023
    7
    下限:用 electron 打包成 exe 安装包
    wakarimasen
    wakarimasen
    Jan 17, 2023 via Android
    8
    把 NodeJS 核心部分和 index.js 和 start.cmd 打成一个压缩包就行了。

    你要是实在闲得慌可以用 Go 重写一遍。
    dc2002007
    dc2002007
    Jan 17, 2023
    9
    你得把 node 环境和你要执行的命令一起打包,但这种需求,我肯定用 golang 写,毕竟二进制的东西还是香
    autoxbc
    autoxbc
    Jan 17, 2023
    10
    考虑下 Deno ,JS 一键打包 exe ,支持跨平台交叉编译
    https://deno.land/manual/tools/compiler
    zsj1029
    zsj1029
    Jan 17, 2023
    11
    当然是用同样语法的,同样 eventloop 的 dart 重写,然后编译二进制独立运行
    同样写 js 还是很喜欢 dart 的
    48y1951r9G8k7Zou
    48y1951r9G8k7Zou
    Jan 17, 2023
    12
    没有别的办法,要么提醒用户安装 node ,要么你把 node 打包进去。而且不管从用户还是开发者的角度,都建议选择前者

    所以写脚本的时候,为了让更多人用着方便,尽可能要选用大部分操作系统发行版会预装运行环境的那些语言。比如 shell/python/perl ...
    AyaseEri
    AyaseEri
    Jan 17, 2023
    13
    写一个 js 运行时就行了
    Pipecraft
    Pipecraft
    Jan 17, 2023
    14
    如果对方已经安装 docker ,可以用 docker
    ```
    docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app node:14-alpine node script.js
    ```
    lzj724
    lzj724
    Jan 17, 2023
    15
    用 c#重构吧,写 wpf
    mmc
    mmc
    Jan 17, 2023
    16
    一直在用 pkg
    yArna
    yArna
    Jan 17, 2023
    17
    可以试试 CosyNode ( https://github.com/Moonvy/CosyNode) 把脚本打包成 exe


    和 vercel/pkg 之类的工具相比原理更简单,没有 Snapshot 机制(打包后与原始脚本有很多差异)
    zhuweiyou
    zhuweiyou
    Jan 18, 2023
    18
    pkg
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   727 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 22:53 · PVG 06:53 · LAX 14:53 · JFK 17:53
    ♥ Do have faith in what you're doing.