使用 NCC 和 PKG 打包 Node.js 项目为可执行文件(Linux ,macOS,Windows)

🎬 江城开朗的豌豆个人主页

🔥 个人专栏 :《 VUE 》 《 javaScript 》

📝个人网站 :《 江城开朗的豌豆🫛 》

⛺️ 生活的理想,就是为了理想的生活 !

目录

[📘 文章引言](#📘 文章引言)

[步骤 1:准备你的 Node.js 项目](#步骤 1:准备你的 Node.js 项目)

[步骤 2:安装 NCC 和 PKG](#步骤 2:安装 NCC 和 PKG)

[步骤 3:使用 NCC 编译你的项目](#步骤 3:使用 NCC 编译你的项目)

[步骤 4:使用 PKG 打包应用](#步骤 4:使用 PKG 打包应用)

[步骤 6:运行可执行文件](#步骤 6:运行可执行文件)

[⭐ 写在最后](#⭐ 写在最后)



📘 文章引言

在这篇文章中,我们将学习如何使用 nccpkg 将 Node.js 项目打包成一个可执行文件,这样你可以轻松地分发和运行你的应用程序。

步骤 1:准备你的 Node.js 项目

确保你有一个已创建的 Node.js 项目。如果还没有,可以通过以下命令创建一个新的项目:

javascript 复制代码
mkdir my-node-app
cd my-node-app
npm init -y

然后,安装所需的依赖:

java 复制代码
npm install express

创建一个简单的 index.js 文件:

javascript 复制代码
// index.js
const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.listen(port, () => {
    console.log(`App listening at http://localhost:${port}`);
});

步骤 2:安装 NCC 和 PKG

javascript 复制代码
npm install -g @vercel/ncc

npm install -g pkg 

步骤 3:使用 NCC 编译你的项目

html 复制代码
ncc build index.js -m -o dist

步骤 4:使用 PKG 打包应用

cpp 复制代码
 pkg dist/index.js

步骤 6:运行可执行文件

cpp 复制代码
./my-node-app   # Linux 和 macOS
my-node-app.exe # Windows

⭐ 写在最后

请大家不吝赐教,在下方评论或者私信我,十分感谢🙏🙏🙏.

✅ 认为我某个部分的设计过于繁琐,有更加简单或者更高逼格的封装方式

✅ 认为我部分代码过于老旧,可以提供新的API或最新语法

✅ 对于文章中部分内容不理解

✅ 解答我文章中一些疑问

✅ 认为某些交互,功能需要优化,发现BUG

✅ 想要添加新功能,对于整体的设计,外观有更好的建议

最后感谢各位的耐心观看,既然都到这了,点个 👍赞再走吧!

相关推荐
柒和远方14 小时前
V043:BFF 层流式输出:从前端直连到生产级流式网关的架构演进
javascript·架构·node.js
濮水大叔1 天前
在 DTO 中使用 Form Layout 配置复杂表单,支持 Tabs/Groups/Sections
vue.js·typescript·node.js
Starry-sky(jing)1 天前
如何判断 Windows 是否安装 Node.js:三种方法 + 常见漏判场景
运维·windows·node.js·环境检测
zzx2006__1 天前
Ajax➕node.js➕webpack
ajax·webpack·node.js
码农学院1 天前
基于小程序云开发与Node.js的餐饮行业AI优化方案:智能推荐与订单预测实战
人工智能·小程序·node.js
触底反弹1 天前
🔥 前端也能玩转 AI 流式输出!从二进制流到打字机效果,一篇讲透
javascript·人工智能·node.js
海上彼尚1 天前
Nodejs也能写Agent - 16.LangGraph篇 - 条件分支与循环
前端·后端·langchain·node.js
Goodbye2 天前
Node.js `path` 与 `fs` 模块详解——从路径操作到异步流程控制
node.js
Dreamboat-L2 天前
NVM的安装与使用(保姆级教程)
npm·node.js
拾年2752 天前
RAG 灵魂三问:你的文档是怎么"喂"给大模型的?
langchain·node.js·llm