引言

我们都知道nodeJS的项目本身不能编译成二进制可执行文件。这给许多商业场景带来了一些问题。例如,向客户展示程序时,可能需要安装Node环境,并安装许多从属软件包。网络环境应该是更好的情况。有时,如果一般企业的安全视图特别重要,则限制对LAN的访问。

还有一种情况:如果我们在演示项目时把代码分发给对方,我们自己也不能放心。Nodejs代码是明文js代码,代码泄露怎么办?当然,防止代码泄漏可以使用JShaman平台混淆JS代码进行加密。

Pkg可以将nodejs项目直接打包为可执行文件,并可直接在没有node的FreeBSD、Linux、alpine、macos和win上运行。

Pkg包装原理

Pkg实际上不是直接将程序转换为可执行文件,而是将node环境打包在一起,在没有node的计算机上运行node项目,这样是否方便?现在,我将向您展示如何使用pkg包装。测试用例使用nodejs的express

使用场景

在没有源的情况下制作商业版本在没有应用程序源的情况下制作应用程序演示/评估/评估立即为其他平台创建可执行文件(交叉编译)创建自解压归档文件或安装程序无需安装Node.js和NPM即可部署应用程序,无需下载大量文件NPM install即可运行打包的应用程序。通过将部署资产作为单个文件放置在可执行文件中,在不安装可移植性增强示例的情况下测试新Node.js版本的应用程序。

为了简单地查看项目的目录结构和代码,首先必须初始化express项目,并添加express相关性。

运行某些index.js文件将打开浏览器并查看效果

我们直接在项目上运行,结果如上图所示,我们的项目仍然是js文件,相互依赖,我们使用pkg。

安装(在windows系统上运行,因为计算机是windows系统)

安装非常简单,需要全局安装

Npm install -g pkg然后使用pkg – help查看可用的命令

Pkg一次可以为多台大象计算机生成可执行文件。可以使用- targets选项指定逗号分隔的大象列表。指定的目标包括三个元素:用破折号分隔、节点6-MAC OS-x64或节点4-Linux-arm V6

Pkg配置打包可以解析项目的资源,检测require,遍历项目相关性,并将其包含在可执行文件中。在某些情况下,您可能需要手动添加资源文件路径(例如,此项目的views)。必须改变。

Pkg': {

Assets': 'views/**/* '

}

软件包(命令很简单)pkg index.js

那你得等一会儿。最终结果如下:

我们打开了我们的index-win.exe测试

运行成功后,打开浏览器,达到与以前相同的效果

摘要

Pgk是将nodejs项目打包为可执行文件的工具。我们可以用它做很多事。这篇文章只是一个简单的例子,更复杂的配置,请配合官网介绍,然后应用到自己的项目中,希望对你有帮助。