0

0

node打包工具Pkg(详细教程)

亚连

亚连

发布时间:2018-06-09 17:07:02

|

11340人浏览过

|

来源于php中文网

原创

下面我就为大家分享一篇基于node打包可执行文件工具_pkg使用心得分享,具有很好的参考价值,希望对大家有所帮助。

项目地址

这个项目很神奇,直接将node.js项目打包成windows可以直接执行的exe文件(也支持FreeBSD、linux、macos、arm系统),甚至不需要安装Node.js,且无须修改你项目中的任何代码!

首先安装pkg

npm install -g pkg

然后在项目目录下执行

pkg entrance.js

即可打包linux,macos,win3个平台的可执行文件。entrance.js为你node项目的入口文件。

如果只想打包windows下的exe,则加上-t参数。win即为打包成windows平台下的exe文件,具体可选参数参见项目目录

pkg -t win entrance.js

稍等片刻后项目目录下就会生成打包好的entrance.exe文件。

pkg会自动从入口文件开始查找依赖的文件并全数打包进去,无须修改项目里的任何代码。

其他

pkg可以根据package.json下的配置进行打包,默认入口文件为bin指向的文件。

执行

pkg .

或是

pkg package.json

即可自动按照package.json的配置打包。

//package.json
{
 //其他配置项
 "bin": "service.js",//入口文件
 "pkg": {
 "scripts": [
  "build/**/*.js"//需要打包进来的其他js文件,可添加多个
 ],
 "assets": [
  "dist/**/*"//静态文件的目录,可添加多个
 ]
 }
}

注意:静态文件需要在项目中将文件的引用换成

path.join(__dirname, 'dist')

的形式,才可以正常打包,否则可能会读取不到。

示例

使用vue-cli建立项目,并使用npm run build将你的项目编译生成静态文件到dist目录下。这些都是vue-cli自带的内容,不再赘述。

HIX.AI
HIX.AI

HIX.AI是一个多功能的一体化AI写作助手,集成了120多种AI写作工具,支持50多种语言,能够满足各种写作需求。

下载

在项目目录下新建一个service.js文件,并添加以下代码,在本地起一个express静态服务器,使你能够在本地访问你的网站(部署到线上也是类似)

//service.js
const express = require('express');
const app = express();
const path = require('path');
 
app.use(express.static(path.join(__dirname, 'dist')));//注意这里使用path.join(__dirname, 'dist')而不是'dist',虽然在命令行中执行起来效果是一样的,不过pkg打包会无法识别到dist目录
 
var server = app.listen(8081, function () {
 var host = server.address().address
 var port = server.address().port
 console.log(`AIbuy agents server start successfully on http://${host}:${port}`)
})

此时你可以在控制台执行

node service.js

来启动你的服务器了,启动完成后,浏览器访问http://localhost:8081/即可查看你的网站。

接下来我们使用将service.js和dist目录打包成一个exe文件,方便他人使用

首先安装pkg

npm install -g pkg

然后修改package.json,添加bin(如果不是service.js的话)和pkg项

{
 //其他配置项
 "bin": "service.js",//指定入口文件
 "pkg": {
 "assets": [
  "dist/**/*"//指定要打包的静态文件目录
 ]
 }
}

然后在项目目录下执行

pkg -t win package.json

完成后即生成一个exe文件,双击启动即相当于执行node service.js,然后你浏览器里(http://localhost:8081/)就能访问打包好的项目了!也不需要提前安装node,给老板演示很方便有木有!

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

使用vue + less如何实现简单换肤功能

使用angular、react和vue如何实现相同的面试题组件

利用jQuery实现滚动到底部时自动加载

在Angular2.0中如何实现modal对话框

在JS中如何实现运动缓冲效果(详细教程)

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

2

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

1

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

3

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

6

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

29

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

3

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

2

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

2

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 6.5万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 18.5万人学习

第二十二期_前端开发
第二十二期_前端开发

共119课时 | 12.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号