it编程 > 编程语言 > Javascript

一文详解如何将Javascript打包成exe可执行文件

9人参与 2025-04-24 Javascript

什么是 pkg?

pkg 是一个命令行工具,能将 node.js 项目及其依赖打包成一个单独的可执行文件。用户无需安装 node.js 环境即可运行你的程序。支持的操作系统包括:

安装 pkg

通过 npm 全局安装或作为项目依赖安装:

# 全局安装(推荐)
npm install -g pkg

# 或作为项目开发依赖安装
npm install pkg --save-dev

基本使用

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

假设你有一个简单的脚本 app.js

// app.js
console.log("hello from pkg!");

步骤 2:通过命令行打包

在终端运行以下命令:

pkg app.js --targets node18-win-x64,node18-macos-x64,node18-linux-x64 --output myapp

步骤 3:运行生成的可执行文件

生成的 myapp.exe(windows)或 myapp(macos/linux)可直接运行,无需 node.js 环境。

配置 package.json

更推荐在 package.json 中配置 pkg 参数:

{
  "name": "myapp",
  "version": "1.0.0",
  "scripts": {
    "build": "pkg . --targets node18-win-x64,node18-macos-x64,node18-linux-x64 --output myapp"
  },
  "pkg": {
    "assets": ["public/**/*", "views/**/*"],  // 包含静态资源
    "scripts": ["scripts/*.js"]  // 包含额外脚本
  }
}

运行 npm run build 即可打包。

处理资源文件

如果你的项目包含静态文件(如图片、html 模板),需注意:

高级用法

指定 node.js 版本和平台

支持的平台列表:

pkg -h  # 查看所有支持的 target 组合

打包整个项目

直接打包 package.json 的入口文件:

pkg .

处理环境变量

在代码中通过 process.env.pkg 判断是否在打包环境中运行:

if (process.env.pkg) {
  console.log("running in packaged mode!");
}

常见问题

问题 1:动态导入模块失败

问题 2:文件路径错误

问题 3:缺少依赖

示例:打包 express 应用

总结

到此这篇关于将javascript打包成exe可执行文件的文章就介绍到这了,更多相关js打包成exe可执行文件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

前端JavaScript数组方法总结(非常详细!)

04-24

JavaScript中if、else if、else和switch的语法、用法及注意事项

04-24

Webpack打包速度优化方案汇总

04-24

一篇文章详细讲解JavaScript中的this(普通函数、箭头函数、 函数运用)

04-24

前端请求全面解析之AJAX、Axios 与 Fetch的使用详解与代码示例

04-24

JavaScript中实现Sleep功能及其应用的几种方法

04-24

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论