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

本文完,感谢阅读🌹

相关推荐
ZoeLandia几秒前
从前端视角看设计模式之行为型模式篇
前端·设计模式
securitor22 分钟前
【java】IP来源提取国家地址
java·前端·python
yqcoder1 小时前
NPM 包管理问题汇总
前端·npm·node.js
程序菜鸟营1 小时前
nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)
前端·npm·node.js
bsr19831 小时前
前端路由的hash模式和history模式
前端·history·hash·路由模式
杨过姑父2 小时前
ES6 简单练习笔记--变量申明
前端·笔记·es6
真想骂*2 小时前
Node.js日志记录新篇章:morgan中间件的使用与优势
中间件·node.js
Sunny_lxm2 小时前
<keep-alive> <component ></component> </keep-alive>缓存的组件实现组件,实现组件切换时每次都执行指定方法
前端·缓存·component·active
咔咔库奇3 小时前
【TypeScript】命名空间、模块、声明文件
前端·javascript·typescript
兩尛3 小时前
订单状态定时处理、来单提醒和客户催单(day10)
java·前端·数据库