一文详解如何将Javascript打包成exe可执行文件
什么是 pkg?
pkg 是一个命令行工具,能将 Node.js 项目及其依赖打包成一个单独的可执行文件。用户无需安装 Node.js 环境即可运行你的程序。支持的操作系统包括:
Windows (生成
.exe)macOS (生成二进制文件)
Linux (生成二进制文件)
安装 pkg
通过 npm 全局安装或作为项目依赖安装:
基本使用
步骤 1:准备你的 Node.js 项目
假设你有一个简单的脚本 app.js:
步骤 2:通过命令行打包
在终端运行以下命令:
--targets: 指定目标平台和 Node.js 版本(例如node18-win-x64表示 Node.js 18 + Windows 64位)。--output: 输出文件名(会根据平台自动添加后缀,如.exe)。
步骤 3:运行生成的可执行文件
生成的 myapp.exe(Windows)或 myapp(macOS/Linux)可直接运行,无需 Node.js 环境。
配置 package.json
更推荐在 package.json 中配置 pkg 参数:
运行 npm run build 即可打包。
处理资源文件
如果你的项目包含静态文件(如图片、HTML 模板),需注意:
相对路径问题:使用
__dirname或path.resolve()确保路径正确。在 pkg.assets 中声明资源:
高级用法
指定 Node.js 版本和平台
支持的平台列表:
打包整个项目
直接打包 package.json 的入口文件:
处理环境变量
在代码中通过 process.env.PKG 判断是否在打包环境中运行:
常见问题
问题 1:动态导入模块失败
原因:
pkg无法处理动态require()(如require(path.join(__dirname, file)))。解决:在
pkg.scripts中预声明所有可能动态加载的文件。
问题 2:文件路径错误
原因:打包后文件系统路径变化。
解决:使用
path.dirname(process.execPath)获取可执行文件所在目录。
问题 3:缺少依赖
原因:未在
dependencies中声明依赖。解决:确保所有依赖在
package.json的dependencies中。
示例:打包 Express 应用
项目结构:
app.js代码:package.json配置:json
打包命令:
总结
使用
pkg可轻松将 Node.js 项目转换为可执行文件。注意处理静态资源路径和动态模块加载。
通过
package.json配置更便捷。
上一篇:JavaScript中if、else if、else和switch的语法、用法及注意事项
栏 目:JavaScript
下一篇:vue3整合SpringSecurity加JWT实现登录认证
本文标题:一文详解如何将Javascript打包成exe可执行文件
本文地址:https://zz.feitang.co/wangluobiancheng/23722.html
您可能感兴趣的文章
- 07-25如何使用 Deepseek 写的uniapp油耗计算器
- 07-25JavaScript其他类型的值转换为布尔值的规则详解
- 07-25JavaScript实现给浮点数添加千分位逗号的多种方法
- 07-25ReactNative环境搭建的教程
- 07-25JavaScript获取和操作时间戳的用法详解
- 07-25通过Vue实现Excel文件的上传和预览功能
- 07-25Node使用Puppeteer监听并打印网页的接口请求
- 07-25在Node.js中设置响应的MIME类型的代码详解
- 07-25Vue3解决Mockjs引入后并访问404(Not Found) 的页面报错问题
- 07-25如何利用SpringBoot与Vue3构建前后端分离项目


阅读排行
推荐教程
- 04-23JavaScript Array实例方法flat的实现
- 04-23Vue3使用v-if指令进行条件渲染的实例代码
- 04-23THREE.JS使用TransformControls对模型拖拽的代码实例
- 07-21JavaScript判断数据类型的四种方式总结
- 07-22JavaScript随机数生成各种技巧及实例代码
- 07-21JavaScript检查变量类型的常用方法
- 07-21基于vue3与supabase系统认证机制详解
- 04-23vue3+ts项目搭建的实现示例
- 07-21JavaScript双问号操作符(??)的惊人用法总结大全
- 07-22使用Node.js实现GitHub登录功能





