node app 打包工具pkg的具体使用
node 打包可执行文件的工具有很多。node-packer 是国人写的,但一年前就停止更新了。而 nexe 一到fetching prebuilt binary 就报错,放弃了,最终选择了 pkg。
这个项目很神奇,直接将node.js项目打包成windows可以直接执行的exe文件(也支持FreeBSD、linux、macos、arm系统),甚至不需要安装Node.js,且无须修改你项目中的任何代码!
命令行打包
pkg -t node10-macos-x64 index.js
package.json 配置
如果不想每次都输入这么多参数,则需要在 packge.json 文件增加一个 bin 和 pkg 选项
``` "pkg": { "scripts": [], // 不需要 striped 的 js 文件 "targets": [ // 打包选项,格式为node版本-平台类型 mac 或 windows-架构 "node10-win-x64", "node10-macos-x64" ], "output": "proxy" // 可执行文件名,比如 proxy-win.exe 或 proxy-macos }, "bin": "index.js" // app 的启动文件 ```
然后,你只需要用 pkg . 就可以了。
注pkg 最多只支持到 node 10 版本。node 11 还暂不支持。
Assets
有一些文件,它不是 js 文件,也没有在代码中 require 过,比如 html 和 css 文件。pkg 就无能为力了。如果想将这些文件也打包到可执行文件中,将它们放到 pakcage.json 的 pkg 的 assets 数组中就可以了,比如
"assets": [ // 需要被打包的资源文件(即没有在代码中被 require 过的文件) "index.html" ],
动态加载的文件
有一些文件,你不想打包进去,比如一些配置文件、json 文件,可以在 require 时指定绝对路径,比如 data 目录下的 users.json 文件
const users = require(path.join(process.execPath,'../data/users.json'))
然后在打包后,将在可执行文件的同级目录下新建 data 目录,再将 users.json 文件拷贝到 data 目录即可。
这样,以在运行时改变 app 的一些参数。
注意,修改 users.json 文件内容后,需要重启可执行文件才能生效。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南