如何使用pkg工具高效打包ThinkJS项目?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2523个文字,预计阅读时间需要11分钟。
在ThinkJS用户群中,开发者常提出需要源码加密保护的需求。我们知道JavaScript是一门动态语言,不像静态语言能编译成二进制包防止源码泄露。因此,出现了pk等加密工具。
在 ThinkJS 的用户群里,经常有开发者提出需要对源码进行加密保护的需求。我们知道 JavaScript 是一门动态语言,不像其他静态语言可以编译成二进制包防止源码泄露。所以就出现了 pkg、nexe 之类的工具,支持将 JS 代码连同 Node 一块打包成一个可执行文件,一来解决了环境依赖的问题,二来解决了大家关心的源码保护的问题。
在pkg 模块的 README 中,罗列了它的几大用处,如果你有下面的几个需求的话建议不妨试试。
- 为应用提供商业发行版而不用暴露源码
- 为应用提供 demo 而不用暴露源码
- 一键打包所有平台可执行文件而不需要对应平台环境依赖
- 提供自解压或自安装的解决方案
- 运行应用不需要安装 Node.js 和 npm
- 部署仅需要一份单文件,不需要通过 npm 安装大量的依赖
- 资源打包后让应用迁移起来更加方便
- 在指定 Node.js 版本下对应用进行测试而不需要安装对应的版本
如何使用
关于 pkg 模块的基础使用,大家可以看 《把你的NodeJS程序给没有NodeJS的人运行》 这篇文章。通过 npm install -g pkg 在全局安装上模块后就可以在命令行中使用 pkg 命令了。pkg 除了支持在命令行中指定参数之外,还支持在 package.json 中进行配置。
本文共计2523个文字,预计阅读时间需要11分钟。
在ThinkJS用户群中,开发者常提出需要源码加密保护的需求。我们知道JavaScript是一门动态语言,不像静态语言能编译成二进制包防止源码泄露。因此,出现了pk等加密工具。
在 ThinkJS 的用户群里,经常有开发者提出需要对源码进行加密保护的需求。我们知道 JavaScript 是一门动态语言,不像其他静态语言可以编译成二进制包防止源码泄露。所以就出现了 pkg、nexe 之类的工具,支持将 JS 代码连同 Node 一块打包成一个可执行文件,一来解决了环境依赖的问题,二来解决了大家关心的源码保护的问题。
在pkg 模块的 README 中,罗列了它的几大用处,如果你有下面的几个需求的话建议不妨试试。
- 为应用提供商业发行版而不用暴露源码
- 为应用提供 demo 而不用暴露源码
- 一键打包所有平台可执行文件而不需要对应平台环境依赖
- 提供自解压或自安装的解决方案
- 运行应用不需要安装 Node.js 和 npm
- 部署仅需要一份单文件,不需要通过 npm 安装大量的依赖
- 资源打包后让应用迁移起来更加方便
- 在指定 Node.js 版本下对应用进行测试而不需要安装对应的版本
如何使用
关于 pkg 模块的基础使用,大家可以看 《把你的NodeJS程序给没有NodeJS的人运行》 这篇文章。通过 npm install -g pkg 在全局安装上模块后就可以在命令行中使用 pkg 命令了。pkg 除了支持在命令行中指定参数之外,还支持在 package.json 中进行配置。

