很简单的功能,之前可能会用 go 写。。现在完全不想碰了🐶
1 . 打包后体积尽量小点,最好能是个单个可执行文件,外挂个配置文件
2 . 跨平台简单点( win / mac )
1
lisongeee 2022-01-07 11:45:20 +08:00 1
你可以用 deno ,不用打包,不用手动下载
使用的时候直接 deno https://cli.url -a -c -c |
2
shuimugan 2022-01-07 11:48:39 +08:00 1
|
3
lscho 2022-01-07 12:17:05 +08:00
你这需求不用 go 那不是找麻烦。。。node 想打包的话,体积不会小
|
4
SorcererXW 2022-01-07 12:46:15 +08:00
可以用 esbuild 编译成单 js 文件
|
5
wsseo 2022-01-07 12:57:08 +08:00
用 rust 更合适
|
6
timpaik 2022-01-07 13:01:59 +08:00 via Android
node 单文件体积可能还不如 go 写,你这种需求还是看看 rust 吧
|
7
lululau 2022-01-07 13:27:08 +08:00
|
8
CokeMine 2022-01-07 14:42:21 +08:00 via iPad
要可执行文件应该是要把运行时也打进去了,见 2 楼。这体积肯定不会小的…
|
9
weixiangzhe 2022-01-07 17:30:38 +08:00
带 node_module 就小不了
|
11
star7th 2022-01-07 17:55:18 +08:00
这个事情我也探索过。暂时还是觉得 go 是最好的选择。用 node 的话,体积小不了。我也不知道其他人有没有更好的方案
|
12
shuimugan 2022-01-07 18:20:47 +08:00
这种东西要自己动手测试过,有数据对比才知道取舍。
nest.js 示例项目打包后 18MB ,gin 实例代码打包后 4.6MB ,测试结果如下: 用 nest new project-name 创建一个模板应用并安装依赖,再使用 pgk 打包成单文件 pkg --compress Brotli -o test-bin dist/main.js 41MB ,tar -czvf 后 18MB 用 gin 的示例代码编译后 8.7MB ,tar -czvf 后 4.6MB node 和 go 的差距就在这里了,18MB VS 4.6MB ,看你能不能接受 本来写了一大段包括命令的,结果 v 站的 cf 防护开了,当成有恶意代码被阻拦了…… |
13
mritd 2022-01-07 18:26:45 +08:00 via iPhone
我觉得你在嘲讽 nodejs 🤣 你说的这个需求 go 完全压制 node
|
14
xiaojun1994 2022-01-07 18:35:27 +08:00
是我理解错了吗,我理解的是你想用写一个命令?比如:cp 、ls 这种可以
|
15
xiaojun1994 2022-01-07 18:35:58 +08:00
@xiaojun1994 是我理解错了
|
16
shangyes 2022-01-08 03:40:47 +08:00
deno compile
https://deno.land/manual/tools/compiler#compiling-executables |
17
li02 2022-01-08 15:41:48 +08:00 via Android
就你这需求,写 js 在控制台运营就可以了啊,哪用这么复杂
|