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

本文完,感谢阅读🌹

相关推荐
翻滚吧键盘9 分钟前
{{ }}和v-on:click
前端·vue.js
上单带刀不带妹15 分钟前
手写 Vue 中虚拟 DOM 到真实 DOM 的完整过程
开发语言·前端·javascript·vue.js·前端框架
杨进军36 分钟前
React 创建根节点 createRoot
前端·react.js·前端框架
ModyQyW1 小时前
用 AI 驱动 wot-design-uni 开发小程序
前端·uni-app
说码解字1 小时前
Kotlin lazy 委托的底层实现原理
前端
爱分享的程序员2 小时前
前端面试专栏-算法篇:18. 查找算法(二分查找、哈希查找)
前端·javascript·node.js
翻滚吧键盘2 小时前
vue 条件渲染(v-if v-else-if v-else v-show)
前端·javascript·vue.js
vim怎么退出2 小时前
万字长文带你了解微前端架构
前端·微服务·前端框架
你这个年龄怎么睡得着的2 小时前
为什么 JavaScript 中 'str' 不是对象,却能调用方法?
前端·javascript·面试
Java水解2 小时前
前端常用单位em/px/rem/vh/vm到底有什么区别?
前端