javascript - 使用带有通知程序的 pkg 构建 node.js 可执行文件
问题描述
我正在使用 pkg 将我的节点应用程序打包到 .exe 中,它工作正常。我遇到的问题是模块通知程序不包含在构建中。当我运行以下命令来构建 exe 时:
$ pkg . --targets node10-win-x64
我明白了:
> pkg@4.4.6
> Warning Cannot include file %1 into executable.
The file must be distributed with executable as %2.
%1: node_modules\node-notifier\vendor\notifu\notifu.exe
%2: path-to-executable/notifier/notifu.exe
> Warning Cannot include file %1 into executable.
The file must be distributed with executable as %2.
%1: node_modules\node-notifier\vendor\notifu\notifu64.exe
%2: path-to-executable/notifier/notifu64.exe
> Warning Cannot include file %1 into executable.
The file must be distributed with executable as %2.
%1: node_modules\node-notifier\vendor\terminal-notifier.app\Contents\MacOS\terminal-notifier
%2: path-to-executable/notifier/terminal-notifier
> Warning Cannot include file %1 into executable.
The file must be distributed with executable as %2.
%1: node_modules\node-notifier\vendor\snoreToast\SnoreToast.exe
%2: path-to-executable/notifier/SnoreToast.exe
> Warning Cannot include file %1 into executable.
The file must be distributed with executable as %2.
%1: node_modules\node-notifier\vendor\notifu\notifu.exe
%2: path-to-executable/notifier/notifu.exe
> Warning Cannot include file %1 into executable.
The file must be distributed with executable as %2.
%1: node_modules\node-notifier\vendor\notifu\notifu64.exe
%2: path-to-executable/notifier/notifu64.exe
> Warning Cannot include file %1 into executable.
The file must be distributed with executable as %2.
%1: node_modules\node-notifier\vendor\terminal-notifier.app\Contents\MacOS\terminal-notifier
%2: path-to-executable/notifier/terminal-notifier
> Warning Cannot include file %1 into executable.
The file must be distributed with executable as %2.
%1: node_modules\node-notifier\vendor\snoreToast\SnoreToast.exe
%2: path-to-executable/notifier/SnoreToast.exe
这似乎是一个常见问题,已在此处曝光,但我无法使用该用户的信息来解决此问题。我应该将 notifu.exe 移动到我的节点 main.js 所在的目录吗?
解决方案
我解决了。在 Windows 10(64 位)上 在我的项目中,我使用了“node-notifier”,我收到了类似于上面的警告。上述警报是一个警告,即可执行文件在创建后必须位于子文件夹中。
但是,在 Windows 10(64 位)中,“node-notifier”使用“soreToast-x64.exe”而不是“soreToast.exe”。
您可以按以下顺序进行。
- 将 pkg 重新安装到最新版本。
npm i -g pkg
从“\node_modules\node-notifier~”子文件夹中查找并复制“snoretoast-x64.exe”。
在生成的可执行子路径中创建一个文件夹“notifier”并复制并粘贴“snoretoast-x64.exe”。
推荐阅读
- laravel - 找不到类“App\cat”(查看:E:\xampp\htdocs\Blog\resources\views\layout\show.blade.php)
- android - openapitools 生成带有版本的模型
- javascript - 调整窗口大小时重新计算偏移值
- node.js - MongoDB中除String之外的不同类型的全文搜索
- python - 获取每个抓取链接的列表长度
- java - Tomcat 和 JNDI
- webrtc - 具有多个对等连接的 WebRTC - 现有对等连接之间的流在创建新连接时停止
- javascript - 如何使用 TypeScript 在 NodeJS 中动态导入 .js 文件?
- python - Google Places Find_Place API 请求不返回商家名称
- javascript - 为 Chrome 扩展创建另一个完整页面(React+Typescript)