有一个开源API,可以在我的大学生页面日志记录、获取信息和下载文件。API是使用标准节点库编写的,使用http、https、path和其他一些用于web抓取的库。我想创建一个使用此API的应用程序,但在将其导入到expo项目中时,出现了一个错误:“它失败了,因为原生React运行时不包含Node标准库”。
如何在expo项目中使用节点API,仅使用模拟、用等效的反作用本机兼容库替换库或类似的东西?试图避免重写API的相当一部分。
为了解决这个问题,我尝试了:
-
将
extraNodeModules
中的'node-libs-react-native'
导入到expo项目中的metro.config.js
文件中,以用移植到浏览器的模拟或等效节点模块替换默认节点库,但失败,因为在模拟器中打开时,我在库路径中遇到了类型错误,因为它们需要的是字符串值而不是对象值。可能是因为等效路径库没有相同的方法、参数或其他东西。 -
修改了API的
babel.config.js
,以便为mock或浏览器库别名不兼容的库,但最终在expo项目中出现了与import'node-libs-react-native'
相同的错误。