我正在尝试让我们的JavaScript library与React Native兼容。目前,该软件包通过使用"浏览器"支持浏览器和nodejs环境。 package.json中的字段。据我所知,React Native Packager也应该遵守这个字段的规范,但不知何故,当我在React Native项目中安装软件包并运行packager时,它失败了,要求" url"包(通过浏览器字段填充)。
答案 0 :(得分:0)
您可以在package.json中添加react-native字段,如下所示:
"react-native": "./dist/index.js"
答案 1 :(得分:0)
我遇到了同样的问题,发现只能替换“主”文件。
答案 2 :(得分:0)
React Native Packager(metro
打包器)尊重 react-native
中的 package.json
字段。
browser
字段仅在未指定 react-native
字段时使用。
package.json
的示例如下:https://github.com/Gozala/web-encoding/blob/default/package.json#L11
这个 polyfill 库 (web-encoding
) 将 TextEncoder
API 暴露给 React Native 环境(以及旧的 nodejs 环境)。
此 API 仅在浏览器和较新的节点环境中没有此 polyfill 时可用。
为了向 RN 环境提供 API,它将 react-native
字段设置为 "./src/lib.react-native.js"
(请参阅上面的链接以了解全貌)。
react-native
字段由 metro
打包程序专门处理。
相应的实现如下。