theme: juejin
highlight: vs2015

目的 :源码安全 双击应用就可以启动

1-安装好node

2-安装pkg

可以直接全局安装pkg,方便打包

npm install -g pkg

3-package.json配置

\\ package.json
\\我是win64系统node版本是14.17.0,所以写node14-win-x64      根据实际改
\\bin是自己要打包项目的入口文件
{"scripts"{"pkg":"pkg . -t node14-win-x64 --out-path=dist/"},"bin": "./app.js"
}

结合官方文档内容,我们来看下这行代码中这些参数的意思:
1、 pkg .,意思就是它会寻找指定目录下的package.json文件,然后再寻找bin字段作为入口文件。
2、-t 用来指定打包的目标平台和Node版本,如-t node12-win-x64,node12-linux-x64,node12-macos-x64,可以同时打包3个平台的可执行程序;
3、–out-path 用来指定输出的目录地址;后面的"=dist/“就是指定的目录地址,也可以这样写”–out-path dist/",用空格替代"="

这是我的app.js

如果项目只用到了require()形式就不需要再配置了

但要是用了__dirname拼接变量的形式,就要在packge.json中进行配置了

比如这样的
app.set('views',path.join(__dirname, './views'))
...
app.use(express.static(path.join(__dirname, './public')));就要这样配置
{"scripts"{"pkg":"pkg . -t node14-win-x64 --out-path=dist/"},"bin": "./app.js",
"pkg": {"assets": ["public/**/*","views/**/*"],},
}
public/**/* 这种通配符写法,表示public下所有文件都被打包进去了; assets表示静态资源相关配置,scritps表示需要配置才能打包的js脚本

4-进行打包

已经配置完了,进行打包

npm run pkg

成功的样子

失败/加载中的样子
一般都会特别慢 然后报错

5-解决问题

方法:https://github.com/vercel/pkg/issues/419

因为访问的外国网站下的包几十M,网络不是很强就会超时

手动下载来解决

01 name 值就是需要下载的文件名(sha文件也要下)
下载地址 https://github.com/vercel/pkg-fetch/releases

02

然后把下载的文件复制到C:\Users\Administrator.pkg-cache\v2.6这个文件目录下,记得同时修改文件名称,我这里下载的是uploaded-v2.6-node-v10.21.0-win-x64,那么将它重名为fetched-v10.21.0-win-x64
下面是我的

最后再进行打包,就很快

参考的相关文件:

https://juejin.cn/post/6844903937057751054#comment
https://juejin.cn/post/6982133816001462285#heading-7
https://juejin.cn/post/6925348130078605325

https://github.com/vercel/pkg/issues/419

pkg将项目打包成 exe应用, 双击启动 node相关推荐

  1. Java项目打包成exe的详细教程

    Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...

  2. vue项目打包成exe可执行文件

    Vue项目打包成exe可执行文件 实现思路:从electron官网上拉取代码,把官网上拉取下来项目中的index.html替换成 自己vue项目打包好的dist文件中的index.html,输入打包e ...

  3. 使用 GraalVM 将纯 JavaFX 项目打包成 EXE

    使用 GraalVM 将纯 JavaFX 项目打包成 EXE GraalVM 的环境搭建 打包不含 FXML 的纯 JavaFX 项目 打包含 FXML 的纯 JavaFX 项目 测评 在 Intel ...

  4. 使用 GraalVM 将基本的 Java 项目打包成 EXE

    使用 GraalVM 将基本的 Java 项目打包成 EXE GraalVM 的环境搭建 将基本的 Java 项目打包成 EXE 将 JAR 转化为 EXE GraalVM 与 Java 中其它打包成 ...

  5. Java项目打包成exe

    windows平台下,eclipse的Java项目打包成exe教程,超详细-- 一,在eclipse开发平台下开发好Java项目(无错误,并可正确运行),首先要把Java项目打包成.jar文件.如下图 ...

  6. 记一次maven项目打包成exe文件过程

    记一次maven项目打包成exe文件过程 步骤 (网上很多) 将java代码在idea中打包成可执行的Jar包 通过exe4j软件打包成exe文件 问题 打包成jar包要么选择IDEA自身打包要么用m ...

  7. cxfreeze将python项目打包成.exe

    最近要把一个python项目打包成.exe迁移到其他无环境的电脑上直接运行,最初打算使用pyinstall,不过有人说pyinstall打包总是缺少某些依赖,所以就在网上寻找方法,选择了使用cxfre ...

  8. Tips--解决Python打包成exe文件大启动慢的问题

    解决Python打包成exe文件大启动慢的问题 1. 问题描述 2. 产生原因 2. 解决方法 2.1 建立虚拟环境 2.2 安装所需库 2.3 在环境中打包 2.4 附pyinstaller参数表 ...

  9. vue项目打包成.exe桌面应用

    1.将vue项目打包成dist文件:npm run build:prod 2.新建文件夹,使用git下载(下载其中一种就行) gitee git clone https://gitee.com/wal ...

  10. java普通项目打包成exe可执行文件

    · 提示,无论打包成jar还是exe程序,运行都需要JDK,需要给没有安装JDK的电脑安装: · maven项目有自己的打jar包方式,我们普通的java项目,可以安照步骤一打包成jar: 步骤一.先 ...

最新文章

  1. 莱芜市公安局交警支队智能交通项目集成及容灾公开招标公告
  2. jpa 指定字段内容按照顺序排序(orderBy when then)
  3. SQL中的Where,Group By,Order By和Having的用法/区别
  4. group_concat
  5. mysql技术内幕《读书笔记》
  6. 数量场的等值面与矢量场的矢量线的一些基本的东西(写得不好)
  7. 板邓:wordpress编辑器发布文章自动首行缩进
  8. Jquery表单清空
  9. 软件开发版本号命名规则
  10. 人工智能 一种现代方法 第4章 超越经典搜索
  11. Hive教程(02)- Hive安装
  12. 对口升学计算机基础知识教案,教案河北省计算机专业对口升学讲义--计算机基础知识部分.ppt...
  13. C++入门基础之计算使用某快递公司运输货物的运费
  14. 软件业:印度比中国强在哪
  15. java如何爬取qq音乐_爬取QQ音乐
  16. 第九课堂-如何通过着装打造黄金比例完美好身材!
  17. android开启软键盘,Android肿么弹出软键盘,和开启软键盘
  18. Error: recoverUnfinalizedSegments failed for required journal
  19. Authentication failed for 解决办法
  20. JQuery是什么?怎么使用JQ?

热门文章

  1. python语言def_python中def的含义
  2. word 2016插入空白页页眉的办法
  3. 对象图(Object Diagram)
  4. mysql列名小写_MySQL表名、列名区分大小写详解
  5. ACL(标准/扩展访问控制列表)
  6. 用cdr怎么精确裁剪图形
  7. 如何在excel表格中查找重复值
  8. 松下TDA-200开启呼叫转移功能
  9. 删除非字母字符python_python字符串如何去掉英文字母以外的字符
  10. redis抽奖并发_redis并发操作(lpop/lpush实现)