Node.js 打包(npm运行区)后节点应用程序(生产和开发模式)的意外行为

Node.js 打包(npm运行区)后节点应用程序(生产和开发模式)的意外行为,node.js,Node.js,我一直在管理一个使用macaddress、serialport和在线cryptojs库cdn的应用程序。在这里,macaddress在系统未连接到internet时不起作用,并且当我将系统日期增加9个月或更长时间时,应用程序显示了一些cryptojs错误,即无法获取提供的在线cdn链接 因此,我研究并找到了用于离线获取系统macaddress的节点getmac模块,并安装了crypto-js模块来替代在线cdn-link。这些更改在npm启动后正常工作。但当我使用npm run dist打包应用

我一直在管理一个使用macaddress、serialport和在线cryptojs库cdn的应用程序。在这里,macaddress在系统未连接到internet时不起作用,并且当我将系统日期增加9个月或更长时间时,应用程序显示了一些cryptojs错误,即无法获取提供的在线cdn链接

因此,我研究并找到了用于离线获取系统macaddress的节点getmac模块,并安装了crypto-js模块来替代在线cdn-link。这些更改在
npm启动后正常工作
。但当我使用
npm run dist
打包应用程序,然后使用
npm start
时,它会显示错误:

Uncaught Error: \\?\D:\aerosmartgas3.1.1\node_modules\@serialport\bindings\build\Release\bindings.node is not a valid Win32 application.
Uncaught Error: Cannot find module 'crypto-js'
打包的应用程序显示错误:

Uncaught Error: \\?\D:\aerosmartgas3.1.1\node_modules\@serialport\bindings\build\Release\bindings.node is not a valid Win32 application.
Uncaught Error: Cannot find module 'crypto-js'
现在,在
npm安装
之后,开发模式(
npm启动
)的错误得到解决,直到
npm运行dist

即使我恢复代码中的更改并卸载新安装的模块,这个问题也没有得到解决。
我还尝试了npm run dist--no prune,但问题仍然是一样的。

crypto js和node getmac作为开发依赖项安装(由于npm install crypto js--save dev)。只需卸载(npm uninstall crypto js)它们,然后再次作为依赖项安装(npm install crypto js)就达到了目的。

也许
crypto js
作为开发依赖项安装在您的
包中。json
。检查您的
包.json
以确保crypto js在依赖项列表中是的,“crypto js”:“^4.0.0”作为开发人员依赖项安装,如果我卸载并对代码进行适当更改,则会显示未捕获的错误:找不到模块“node getmac”。节点getmac也安装在package.json中的aas dev depencence中