我正在尝试让我们的JavaScript library与React Native兼容。目前,该包通过使用package.json中的" browser“字段同时支持浏览器和nodejs环境。据我所知,React Native Packager也应该遵守此字段的规范,但不知何故,当我在React Native项目中安装该包并运行packager时,它无法请求"url“包(通过浏览器字段进行填充)。
发布于 2016-03-16 07:44:34
您可以在package.json中添加一个react-native字段,如下所示:
"react-native": "./dist/index.js"
发布于 2016-06-20 15:59:37
我遇到了同样的问题,发现只有“主”文件可以被替换。
发布于 2021-01-28 12:55:27
React Native Packager ( metro打包程序)遵循package.json中的react-native字段。仅当未指定react-native字段时才使用browser字段。
下面是一个package.json的例子:https://github.com/Gozala/web-encoding/blob/v1.1.0/package.json#L11
此polyfill库(web-encoding)将TextEncoder API公开给React本机环境(以及较旧的nodejs环境)。此API仅在浏览器和没有此polyfill的较新节点环境中可用。
为了向RN环境提供API,它将react-native字段设置为"./src/lib.react-native.js" (请参阅上面的链接了解整体情况)。
react-native字段由metro打包程序专门处理。相应的实现如下所示。
https://stackoverflow.com/questions/35866091
复制相似问题