node打包工具Pkg(详细教程)
下面我就为大家分享一篇基于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自带的内容,不再赘述。
在项目目录下新建一个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,给老板演示很方便有木有!
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
使用angular、react和vue如何实现相同的面试题组件
以上是node打包工具Pkg(详细教程)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

CentOS系统下GitLab的备份与恢复策略为了保障数据安全和可恢复性,CentOS上的GitLab提供了多种备份方法。本文将详细介绍几种常见的备份方法、配置参数以及恢复流程,帮助您建立完善的GitLab备份与恢复策略。一、手动备份利用gitlab-rakegitlab:backup:create命令即可执行手动备份。此命令会备份GitLab仓库、数据库、用户、用户组、密钥和权限等关键信息。默认备份文件存储于/var/opt/gitlab/backups目录,您可通过修改/etc/gitlab

检查CentOS系统中HDFS配置的完整指南本文将指导您如何有效地检查CentOS系统上HDFS的配置和运行状态。以下步骤将帮助您全面了解HDFS的设置和运行情况。验证Hadoop环境变量:首先,确认Hadoop环境变量已正确设置。在终端执行以下命令,验证Hadoop是否已正确安装并配置:hadoopversion检查HDFS配置文件:HDFS的核心配置文件位于/etc/hadoop/conf/目录下,其中core-site.xml和hdfs-site.xml至关重要。使用

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

在CentOS系统上进行PyTorch分布式训练,需要按照以下步骤操作:PyTorch安装:前提是CentOS系统已安装Python和pip。根据您的CUDA版本,从PyTorch官网获取合适的安装命令。对于仅需CPU的训练,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,请确保已安装对应版本的CUDA和cuDNN,并使用相应的PyTorch版本进行安装。分布式环境配置:分布式训练通常需要多台机器或单机多GPU。所

在CentOS系统上监控HDFS(Hadoop分布式文件系统)状态有多种途径。本文将介绍几种常用方法,助您选择最合适的方案。1.利用Hadoop自带的WebUIHadoop自带的Web界面提供集群状态监控功能。步骤:确保Hadoop集群已启动并运行。访问WebUI:在浏览器中输入http://:50070(Hadoop2.x)或http://:9870(Hadoop3.x)。默认用户名和密码通常为hdfs/hdfs。2.命令行工具监控Hadoop提供一系列命令行工具,方便监

CentOS系统下ZooKeeper版本升级指南升级ZooKeeper版本前,务必做好充分准备。以下步骤将指导您完成CentOS系统上的ZooKeeper版本升级:备份现有版本:在开始升级前,请备份当前ZooKeeper的数据目录和配置文件,以防意外发生。下载新版本:从ApacheZooKeeper官方网站下载目标版本。解压新版本:将下载的ZooKeeper压缩包解压到您选择的目录。配置新版本:复制zoo_sample.cfg文件,并重命名为zoo.cfg。编辑z

在CentOS系统上安装和配置PyTorch,充分利用GPU加速深度学习任务,可遵循以下步骤:第一步:安装Anaconda3首先,使用Anaconda3作为Python环境管理工具,方便PyTorch及其依赖库的安装和管理。下载Anaconda3安装脚本并执行:wgethttps://repo.anaconda.com/archive/Anaconda3-2024.05-Linux-x86_64.shbashAnaconda3-2024.05-Linux-x86_64.sh第二步:创建虚

在CentOS系统上搭建MongoDB集群,需要完成MongoDB安装、实例配置、副本集设置以及分片等步骤。以下步骤将详细指导您完成这一过程:一、准备工作确保CentOS系统已更新,并安装必要的工具:sudoyumupdate-ysudoyuminstall-ywgetvim二、安装MongoDB添加MongoDBYUM源:创建mongodb.repo文件,并添加MongoDB仓库信息(版本号请根据实际情况调整):echo"[mongodb-org-4.4]n
