【问题标题】:Node serialport doesn't work after packaging by pkgpkg打包后节点串口不工作
【发布时间】:2020-02-10 03:59:51
【问题描述】:

我正在开发一个 node.js 应用程序,它通过串行端口与信用卡读卡器通信。 我使用“节点串行端口”,效果很好。

但是pkg打包后,控制台显示如下错误信息,serialport不工作。


(node:14044) UnhandledPromiseRejectionWarning: Error: Could not locate the bindings file. Tried: → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\build\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\build\Debug\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\build\Release\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\out\Debug\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\Debug\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\out\Release\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\Release\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\build\default\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\compiled\10.17.0\win32\x64\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\addon-build\release\install-root\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\addon-build\debug\install-root\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\addon-build\default\install-root\bindings.node → D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\lib\binding\node-v64-win32-x64\bindings.node at bindings (D:\snapshot\app_ver3.0.0\node_modules\bindings\bindings.js:126:9) at Object.<anonymous> (D:\snapshot\app_ver3.0.0\node_modules\@serialport\bindings\lib\win32.js:1:98) at Module._compile (pkg/prelude/bootstrap.js:1261:22) at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10) at Module.load (internal/modules/cjs/loader.js:651:32) at tryModuleLoad (internal/modules/cjs/loader.js:591:12) at Function.Module._load (internal/modules/cjs/loader.js:583:3) at Module.require (internal/modules/cjs/loader.js:690:17) at Module.require (pkg/prelude/bootstrap.js:1166:31) at require (internal/modules/cjs/helpers.js:25:18) (node:14044) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:14044) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.


当然,我的 D 盘中没有“快照”目录。 (我觉得是Node串口的一种默认目录)

我完全不知道。 有没有人可以解决这个问题? : (

(再次抱歉我的英语不好)

【问题讨论】:

标签: javascript node.js


【解决方案1】:

我在我的一个项目中遇到了同样的问题。我认为问题在于 pkg“不知道”如何处理 .node 文件。因此,在打包过程中,这些文件会被留下。我通过将@serialport 文件夹(及其全部内容)与包文件放在一起解决了这个问题。尽管它有效,但我仍然对如何将它们打包在一起感到好奇。我正在四处寻找,找到了你的问题。

我希望有更好的解决方案。

【讨论】:

    猜你喜欢
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    相关资源
    最近更新 更多