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

本文完,感谢阅读🌹

相关推荐
奕鼎竜瑆11 分钟前
Chrome 插件开发实战指南:从入门到发布
前端·chrome
广州华水科技17 分钟前
水库北斗GNSS变形监测系统及单北斗形变监测一体机应用解析
前端
anew___1 小时前
《从零手写操作系统 (20):ELF加载器——让OS读懂现代编译器》
java·服务器·前端
ss2732 小时前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue
对空六课2 小时前
动态按钮ID变化时的稳定埋点标识设计
前端·数据分析
福兮说2 小时前
URL 编码的七个坑:c++ 传到后端变空格、%25 套娃、截断 emoji 直接报错
开发语言·前端·javascript·node.js·url
吴声子夜歌2 小时前
Nginx应用与运维——Nginx Web服务应用实战(Python网站的搭建)
运维·前端·nginx
小的时候可菜了2 小时前
JS 异步的本质:从单线程到 thenable(一条进化链)
开发语言·前端·javascript
liangshanbo12152 小时前
Webpack vs Vite 底层原理高频追问的问题
前端·webpack·node.js
web打印社区3 小时前
Windows 网页静默打印设置步骤:客户端、防火墙与联调清单
开发语言·前端·javascript·chrome·pdf·ecmascript