Node项目打包成exe并设置开机自启教程

前言

  • 将node项目打包成exe后,就可以脱离node环境,不需要安装一堆依赖
  • 打包的方式网上有挺多的,本文使用pkg进行打包教学。
  • pkg原理:pkg实际上并不是直接将程序转换成可执行文件,而是将node环境一起打包到了程序中,这样就可以做到不用在没有node环境下的电脑上运行node项目

全局安装pkg

npm install -g pkg

配置package.json

pkg的参数不止以下列出的,以下仅展示笔主需要的部分

package.json

  "scripts": {
    "dist": "pkg . -t win -o dist/ajlocal.exe"
  },
  "bin": "index.js",
  "pkg": {
    "assets": [
      "certs/",
      "routerHandles/",
      "routers/"
    ]
  }

命令|参数讲解:

  • bin 项目入口文件
  • pkg .:自动寻找项目的package.json文件,然后再找bin字段的入口文件
  • -t:打包的目标平台,win即代表windows,其他平台例如linux,macos
  • -o:输出exe的路径,不指定文件名则默认为项目名
  • assets:静态资源文件的路径,支持通配符,不加则静态资源不会被打包进exe,可能导致项目运行报错

项目目录

为了让读者更好的理解上方的package.json,这边放下项目目录截图

打包

npm run dist

首次运行上面的命令后,会自动下载相应平台的打包文件


例如上图中正在下载的文件是 fetched-v18.5.0-win-x64 ,这个过程挺漫长的。
如果有条件的话挂个梯,手动上GitHub下载:

  • 下载:点我跳转下载页
  • 找到上图中对应平台版本的文件并下载,例上图中是 v18.5.0-win-x64
  • 下载后将文件名改成和上图一样,即 fetched-v18.5.0-win-x64
  • 将文件移动至目录 C:\Users\daowuya\.pkg-cache\v3.4
    dawouya代表用户名
  • 重新运行 npm run dist
  • 此时就打包好了

隐藏运行窗口,设置开机自启

注:需要保证下列的路径都是纯英文,否则可能出现意料外的错误

  • 新建文件夹,例如 ajlocal ,将打包好的 ajlocal.exe 文件移进去
  • 在目录下新建 ajlocal.bat ,替换成你的exe路径并保存
    call C:\Users\daowuya\Desktop\ajlocal\ajlocal.exe
  • 在目录下新建ajlocal.vbs,替换成你的bat路径并保存
    set ws=WScript.CreateObject("WScript.Shell")
    ws.Run "C:\Users\daowuya\Desktop\ajlocal\ajlocal.bat",0

此时双击运行vbs文件就实现了隐藏运行窗口,如果需要设置开机自启,请继续往下

  • 将vbs文件移动到目录 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
  • 重启电脑即可自运行

那么如何在没有窗口的情况下关闭正在运行中的项目?

  • 进入任务管理器(Ctrl+Alt+Del)
  • 后台进程中有个 Node.js JavaScript Runtime ,右击-结束任务

作 者:道无涯
来 源:道无涯博客
链 接: https://www.daowuya.love/node项目打包成exe并设置开机自启教程/
版 权 声 明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。文章版权归作者所有,未经允许请勿转载!


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇