前言

最近自己写了一个nodejs+mysql+express 的项目,想着如果项目部署的话还要再安装 node 环境什么的,肯定太麻烦,于是就想有没有像webpack 那样打包项目的插件,于是了解到了 pkg。

了解 pkg原理

pkg实际上并不是直接将程序转换成可执行文件,而是将node环境一起打包到了程序中,这样就可以做到在没有node环境下的电脑上运行node项目了。

安装 pkg
npm install pkg --save-dev
or
npm install pkg -g
pkg的语法
Options:-h, --help       output usage information  帮助输出使用信息-v, --version    output pkg version --版本输出包装版本-t, --targets    comma-separated list of targets (see examples)-c, --config     package.json or any json file with top-level config--options        bake v8 options into executable to run with them on-o, --output     output file name or template for several files--out-path       path to save output one or more executables-d, --debug      show more information during packaging process [off]-b, --build      don't download prebuilt base binaries, build them--public         speed up and disclose the sources of top-level projectExamples:– Makes executables for Linux, macOS and Windows$ pkg index.js– Takes package.json from cwd and follows 'bin' entry$ pkg .– Makes executable for particular target machine$ pkg -t node6-alpine-x64 index.js– Makes executables for target machines of your choice$ pkg -t node4-linux,node6-linux,node6-win index.js– Bakes '--expose-gc' into executable$ pkg --options expose-gc index.js
步骤

1.首先在我们的 node 项目中的 package.json里做配置

  "scripts": {"start": "hotnode index.js","pkg": "pkg . --out-path=dist/",//需要打包时直接终端输入 npm run pkg"test": "echo \"Error: no test specified\" && exit 1"},"bin":"./index.js",//打包的入口文件"pkg": {"scripts": "build/**/*.js","assets": "views/**/*",//需要打包的静态文件目录"targets": ["node8"]//打包的类型},

2.终端输入命令

npm run pkg

3.耐心等待完成后,项目中会出现 dist 文件夹,里面的 server 就是一个二进制可执行文件,双击就可以启动 node 项目了。

使用 pkg 打包 node服务端 项目相关推荐

  1. 打包node服务端_如何基于NodeJS从零构建线上自动化打包工作流?

    前言 NodeJS在前端领域正扮演着越越重要的地位,它不仅可以让前端工作者使用javascript编写后端代码,还能方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动,非阻塞I/O ...

  2. pkg打包node服务为双击可执行二进制文件Windows x64系统

    1.安装node.js 我这里安装的是14.16.0(建议版本14以上) 2.安装pkg包 3.编写一段后台程序 ·目录结构如下 ·package.json中内容 {"name": ...

  3. pkg之打包node服务

    如何将用Node搭建的服务,在没有外网的情况下简单部署?通过查找自己和实践,找到了适合的技术--pkg,能将服务打包成一个exe文件,方便部署,既能保证代码的安全性,又能让使用者一键操作. 一.通过查 ...

  4. Koa2仿知乎服务端项目:Webpack配置

    项目简介 该项目为一个后端项目,该项目仿"知乎",模拟实现了: JWT用户认证.授权模块 上传图片模块 个人资料模块 关注与粉丝模块 话题模块 问题模块 答案模块 评论模块 共计4 ...

  5. 开发测试服务器配置信息,node服务端中台实现及开发测试生产环境配置

    本人node服务端新人一枚,网上找了不少资料,看了很多别人的配置信息,感觉都不是很合适,看的多了自己也明白配置的具体思路跟实现方式了,以下为我的实现方式.通过package.json里面的script ...

  6. 后端代码之服务端 - 项目工程化创建目录启动服务 -讲解篇

    文章目录 前言 一. 目录创建 与 应用启动 A. 步骤如下: B. 具体cmd命令执行流,截图如下:(`部分无效,可忽略`) 二. 查看Express的欢迎页 1. 查看欢迎页的 浏览器url地址: ...

  7. java项目_好程序员Java分享从入门到服务端项目开发的过程

    好程序员Java分享从入门到服务端项目开发的过程,对于打算入门或者刚刚入门学习Java的人来说,刚开始接触这门学科,往往会觉得不知所措,也会觉得很迷茫.结合前人经验,就从入门到进阶对于Java的学习而 ...

  8. 用pdfjs 在 node服务端将pdf转为图片

    原文链接: 用pdfjs 在 node服务端将pdf转为图片 上一篇: puppeteer pdf 转图片 [不建议使用] 下一篇: 用dom-to-image 截取B站弹幕 [做了一半] 需要使用c ...

  9. java服务端项目开发规范

    更新内容 2015-03-13 (请先更新svn的mybatis.xml.BaseMapper.java.Pager.java文件) 加入测试类规范 加入事物控制规范 加入mapper接口规则 ...

最新文章

  1. 内容推荐 | 生信技术与前沿内容知识库
  2. CSS3之Transition
  3. json转excel_如何快速把json数据转到excel表格,方便个人查看
  4. mysql5.7.11源码安装,mysql 5.7.11 源码安装
  5. matlab 文本处理
  6. 云计算基础概念 笔记
  7. 数据库基础 SQL基础
  8. 计算机二级vb语言题库百度云,[计算机二级vb题库]计算机二级VB语言程序设计考试题及答案.doc...
  9. Mac卸载Anaconda
  10. 联想笔记本驱动升级,指纹识别不了不成功解决方法
  11. WindowsMobile配置英文ROM显示中文问题(解决程序中文乱码)
  12. java写的小米商城_开发”小米商城官网首页”(静态页面)
  13. 大学C语言 算法的定义及特点教案,第2章 算法的概念和特性介绍_福州大学数计学院:C语言程序设计(韩晓芸)_ppt_大学课件预览_高等教育资讯网...
  14. 2021年中国企业信息归档(EIA)市场趋势报告、技术动态创新及2027年市场预测
  15. ML之SHAP:机器学习可解释性之SHAP值之理解单样本单特征预测
  16. liunx 中文乱码 和 html转图片中文乱码问题处理方式以及linux中文字体包
  17. Simcenter Flotherm XT案例练习
  18. SpringBoot-Maven打包压缩瘦身
  19. Docker镜像原理及容器数据卷
  20. python - 密码加密与解密

热门文章

  1. 记单词 真的挺容易--音标
  2. wampserver中文版 附安装教程
  3. 关乎天下-中小企业赢取江山秘籍
  4. 从阿里P1到P7,他的阿里七年总结就是两个字
  5. MySQL + MGR学习培训计划
  6. Python中mask使用
  7. 北航计算机就业2018,2020年考研:北京航空航天大学2018年的毕业生就业情况怎样?北航就业前景分析...
  8. jmeter-阶梯式性能指标监听
  9. 控制器数据数据到btu_hci_msg_process调用流程
  10. keystone变换