这是关于 https://github.com/ecadlabs/taquito/。 该库可从节点应用程序和浏览器应用程序使用。但我们假设大多数人应该从浏览器使用它。
添加到角度项目时,我在开发人员工具中收到此错误:
browser-external:buffer:9 模块“buffer”已外部化以实现浏览器兼容性。无法在客户端代码中访问“buffer.Buffer”。请参阅 https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility 了解更多详细信息
其他前端堆栈中也存在类似错误。
我尝试过:
无论我做什么,我都无法删除这个警告。
对
buffer
的这种依赖可能来自我们的依赖之一。
解决这个问题的正确方法是什么?
您遇到的错误消息表明您正在使用的库依赖于 Node.js 特定的功能(在本例中为缓冲区模块),而这些功能在浏览器环境中本机不可用。当使用支持 Node.js 和前端的库时,这种情况很常见,但某些 Node.js 模块需要填充或等效项才能在浏览器中工作。
最直接的方法是使用像
feross/buffer
这样的polyfill,它是专门为模仿浏览器中的Buffer API而设计的。