Node.js v20 单文件可执行程序尝鲜

起步

使用 nvs 安装并使用最新版 Node

sh 复制代码
nvs add latest
sh 复制代码
nvs use latest

创建项目

sh 复制代码
mkdir single-exe
sh 复制代码
cd single-exe

添加 hello.js 文件

js 复制代码
console.log(`Hello, ${process.argv[2]}!`);

添加 sea-config.json 文件

json 复制代码
{ "main": "hello.js", "output": "sea-prep.blob" }

执行命令

zsh 复制代码
node --experimental-sea-config sea-config.json 

以下命令以 MacOS 为例,具体查看 Single executable applications

sh 复制代码
cp $(command -v node) hello 
sh 复制代码
codesign --remove-signature hello 
sh 复制代码
npx postject hello NODE_SEA_BLOB sea-prep.blob \
    --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 \
    --macho-segment-name NODE_SEA

生成可执行文件 hello

sh 复制代码
codesign --sign - hello 

最后执行 hello

sh 复制代码
./hello world

本文完,感谢阅读🌹

相关推荐
小堃学编程1 小时前
前端学习(3)—— CSS实现热搜榜
前端·学习
Wannaer1 小时前
从 Vue3 回望 Vue2:响应式的内核革命
前端·javascript·vue.js
不灭锦鲤1 小时前
xss-labs靶场基础8-10关(记录学习)
前端·学习·xss
Bl_a_ck1 小时前
--openssl-legacy-provider is not allowed in NODE_OPTIONS 报错的处理方式
开发语言·前端·web安全·网络安全·前端框架·ssl
懒羊羊我小弟1 小时前
手写符合Promise/A+规范的Promise类
前端·javascript
互联网搬砖老肖1 小时前
Web 架构之负载均衡会话保持
前端·架构·负载均衡
肥肥呀呀呀3 小时前
在Flutter上如何实现按钮的拖拽效果
前端·javascript·flutter
Zero1017133 小时前
【React的useMemo钩子详解】
前端·react.js·前端框架
养军博客3 小时前
spring boot3.0自定义校验注解:文章状态校验示例
java·前端·spring boot
uperficialyu3 小时前
2025年01月10日浙江鑫越系统科技前端面试
前端·科技·面试