1
nomagick 2023-01-17 13:35:43 +08:00 1
nexe
vercel/pkg |
2
dlsflh 2023-01-17 13:35:48 +08:00 via Android
变成 exe ?
|
3
dfkjgklfdjg 2023-01-17 13:36:37 +08:00
没办法,运行得有 js runtime 才行。如果只是简单的处理,可以直接写批处理吧,就不用 NodeJS 了。
|
4
crysislinux 2023-01-17 13:37:47 +08:00 via Android
所以 go 那么火呢。写个小工具编译部署起来委实便利
|
6
JiuW 2023-01-17 13:39:33 +08:00 via Android
使用 pkg 打包
|
7
wangtian2020 2023-01-17 13:42:23 +08:00
下限:用 electron 打包成 exe 安装包
|
8
angrylid 2023-01-17 13:48:38 +08:00 via Android
把 NodeJS 核心部分和 index.js 和 start.cmd 打成一个压缩包就行了。
你要是实在闲得慌可以用 Go 重写一遍。 |
9
dc2002007 2023-01-17 13:48:39 +08:00
你得把 node 环境和你要执行的命令一起打包,但这种需求,我肯定用 golang 写,毕竟二进制的东西还是香
|
10
autoxbc 2023-01-17 14:06:53 +08:00
考虑下 Deno ,JS 一键打包 exe ,支持跨平台交叉编译
https://deno.land/manual/tools/compiler |
11
zsj1029 2023-01-17 14:08:16 +08:00
当然是用同样语法的,同样 eventloop 的 dart 重写,然后编译二进制独立运行
同样写 js 还是很喜欢 dart 的 |
12
majula 2023-01-17 14:09:00 +08:00
没有别的办法,要么提醒用户安装 node ,要么你把 node 打包进去。而且不管从用户还是开发者的角度,都建议选择前者
所以写脚本的时候,为了让更多人用着方便,尽可能要选用大部分操作系统发行版会预装运行环境的那些语言。比如 shell/python/perl ... |
13
AyaseEri 2023-01-17 14:22:19 +08:00
写一个 js 运行时就行了
|
14
Pipecraft 2023-01-17 14:31:45 +08:00
如果对方已经安装 docker ,可以用 docker
``` docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app node:14-alpine node script.js ``` |
15
lzj724 2023-01-17 14:50:08 +08:00
用 c#重构吧,写 wpf
|
16
mmc 2023-01-17 16:46:50 +08:00
一直在用 pkg
|
17
yArna 2023-01-17 23:02:54 +08:00
可以试试 CosyNode ( https://github.com/Moonvy/CosyNode) 把脚本打包成 exe
和 vercel/pkg 之类的工具相比原理更简单,没有 Snapshot 机制(打包后与原始脚本有很多差异) |
18
zhuweiyou 2023-01-18 09:40:53 +08:00
pkg
|