nodejs文件实现打包成exe, 并设置开机自启动的方法详解(没有黑窗口)

 更新时间:2023年05月11日 09:15:23   作者:Dylan  Song  
这篇文章主要介绍了nodejs文件实现打包成exe, 并设置开机自启动的方法,结合实例形式分析了node.js使用pkg包实现生成exe可执行文件的相关操作技巧,需要的朋友可以参考下

nodejs打包成exe

使用node的pkg包

# 安装pkg
npm install -g pkg
# 使用pkg打包, 该命令会同时编译 linux, win, mac 版的exe
pkg server.js
# 只打包win版
pkg -t win server.js

如果安装pkg后提示 pkg不是内部命令, 重新打开cmd窗口再试,如果还提示,则需要配置环境变量
查看 .npmrc 文件的配置信息 (默认在C:\Users{用户}下, 如果没有则去 node安装目录下npm下查找)
查看 配置信息中的 prefix 配置路径, 添加到环境变量, 再重启cmd窗口

设置开机自启动 (一)

在打好的exe程序目录下 创建bat文件

# nodejs exe路径
call E:\sdl\server.exe

然后再创建 vbs文件

set ws=WScript.CreateObject("WScript.Shell")
# bat文件路径
ws.Run "E:\sdl\nodeStart.bat",0

在这里插入图片描述

直接运行 server.exe程序会出现黑窗口, 这样运行不会出现黑窗口
然后将vbs文件移动到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 目录下
StarUp目录就是 启动目录
重启计算机即可开机自启动

设置开机自启动 (二)

上面的方式需要用户自己去配置,对于不懂的人不能一键解决问题
下面使用将exe程序打包成windows服务的方式 一键设计开机自启动

首先要下载工具包 winsw
下载winsw程序 链接: https://github.com/winsw/winsw/releases
选择稳定的版本 WinSW v2.11.0 ,直达链接:https://github.com/winsw/winsw/releases/tag/v2.11.0


在这里插入图片描述

软件运行需要.Net Framework软件环境,根据需要下载,一般情况windows是有这个环境的,查看方法 在地址栏上输入C:\Windows\Microsoft.NET\Framework ,按回车键即可查看,缺失下载安装。

然后下载 sample-minimal.xml 配置文件

将这两个文件和 server.exe(node打的exe程序) 放到同一个目录

修改 sample-minimal.xml 配置文件

<service>
  <!-- ID of the service. It should be unique across the Windows system-->
  # 安装windows服务后的服务ID,必须是唯一的。
  <id>nodeStart</id>
  <!-- Display name of the service -->
  # 服务名称,必须是唯一的。一般和id一致即可。
  <name>nodeStart</name>
  <!-- Service description -->
  # 服务描述,可做备注使用。
  <description>nodeStart</description>
  <!-- Path to the executable, which should be started -->
  # 执行的命令
  <executable>%BASE%\server.exe</executable>
  # 日志输出
  <logpath>%BASE%\serviceLogs</logpath>
</service>

然后新建两个 bat文件

install.bat

@echo off
start cmd /k "nodeStart.exe install"
exit

uninstall.bat

@echo off
start cmd /k "nodeStart.exe uninstall"
exit

上述exe程序为 下载的winsw程序包, 我更改了包名

然后运行 install 即可设置开机自启动

PS:这里的bat涉及windows的批处理命令,而对于开机启动项等敏感位置,会有安全软件进行拦截或报警提示,放行即可。

相关文章

  • node.js 用socket实现聊天的示例代码

    node.js 用socket实现聊天的示例代码

    本篇文章主要介绍了node.js 用socket实现聊天的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 如何利用node转发请求详解

    如何利用node转发请求详解

    这篇文章主要给大家介绍了关于利用node转发请求的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 详解用node编写自己的cli工具

    详解用node编写自己的cli工具

    这篇文章主要介绍了详解用node编写自己的cli工具,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 前端自动化开发之Node.js的环境搭建教程

    前端自动化开发之Node.js的环境搭建教程

    这篇文章主要介绍了前端自动化开发之Node.js环境搭建的相关资料,文中介绍的非常详细,对大家学习或者使用node.js具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Node异步和事件循环的深入讲解

    Node异步和事件循环的深入讲解

    异步对于前端来说是老生常谈的话题,同样学习node也离不开异步IO与事件循环,下面这篇文章主要给大家介绍了关于Node异步和事件循环的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • NodeJs的优势和适合开发的程序

    NodeJs的优势和适合开发的程序

    做页游或webqq这样的应用nodejs有优势,但如果做微博、豆瓣、facebook这样的社交网络,nodejs还有优势吗?另外不知道大家是什么原因选择的nodejs?是因为应用需求还是对javascript这门语言的喜欢?
    2016-08-08
  • nodeJs爬虫获取数据简单实现代码

    nodeJs爬虫获取数据简单实现代码

    这篇文章主要为大家详细介绍了nodeJs爬虫获取数据简单实现代码,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 利用yarn代替npm管理前端项目模块依赖的方法详解

    利用yarn代替npm管理前端项目模块依赖的方法详解

    这篇文章主要给大家介绍了关于利用yarn代替npm管理前端项目模块依赖的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • Node.js 应用探索文件解压缩示例详解

    Node.js 应用探索文件解压缩示例详解

    这篇文章主要为大家介绍了Node.js 应用探索文件解压缩示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • npm国内镜像 安装失败的几种解决方案

    npm国内镜像 安装失败的几种解决方案

    这篇文章主要给大家总结了npm国内镜像npm安装失败的几种解决方案,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下来一起看看吧。
    2017-06-06

最新评论