打包(npm-run-dist)后节点应用程序的意外行为(生产和开发模式)



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

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

Uncaught Error: \?D:aerosmartgas3.1.1node_modules@serialportbindingsbuildReleasebindings.node is not a valid Win32 application.

打包的应用程序显示错误:

Uncaught Error: Cannot find module 'crypto-js'

现在,在npm install之后,开发模式(npm start(的错误被解决,直到npm run dist

即使我恢复代码中的更改并卸载新安装的模块,这个问题也无法解决。我也试过npm run dist --no-prune,但问题仍然一样。

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

最新更新