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

2023 年 1 月 17 日
 usdc
3811 次点击
所在节点    程序员
18 条回复
nomagick
2023 年 1 月 17 日
nexe
vercel/pkg
dlsflh
2023 年 1 月 17 日
变成 exe ?
94
2023 年 1 月 17 日
没办法,运行得有 js runtime 才行。如果只是简单的处理,可以直接写批处理吧,就不用 NodeJS 了。
crysislinux
2023 年 1 月 17 日
所以 go 那么火呢。写个小工具编译部署起来委实便利
usdc
2023 年 1 月 17 日
@nomagick #1 在看 pkg 谢谢
JiuW
2023 年 1 月 17 日
使用 pkg 打包
wangtian2020
2023 年 1 月 17 日
下限:用 electron 打包成 exe 安装包
wakarimasen
2023 年 1 月 17 日
把 NodeJS 核心部分和 index.js 和 start.cmd 打成一个压缩包就行了。

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

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


和 vercel/pkg 之类的工具相比原理更简单,没有 Snapshot 机制(打包后与原始脚本有很多差异)
zhuweiyou
2023 年 1 月 18 日
pkg

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/909463

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX