React Native Metro 捆绑器选择要导入的文件。如何使行为像 Webpack 解析器 mainFiles

React Native Metro bundler choose file to import. How to make behaviour was as Webpack resolver mainFiles

在 React-Native 中我们可以导入依赖于平台的文件。 https://facebook.github.io/react-native/docs/platform-specific-code#platform-specific-extensions

button.ios.js
button.android.js

import button from './button';

将导入平台指定的按钮。

太棒了!

我如何扩展此行为,因为 WebPack 允许使用 mainFiles 解析器

示例:

button.uk.js
button.br.js
button.us.js

/*
set build variable env.country = uk
*/

import button from './button';
uk button imported

看起来 Metro bundler 已经有了这些选项,但我不明白如何通过 react-native-cli 传递选项。 我应该尝试 运行 在没有 cli 的情况下自己打包吗?

用于 React Native 的 Haul bundler 可以做到这一点非常简单 https://callstack.github.io/haul/ 它取代了 metro bundler 并允许您通过插件等传递 webpack 配置...

使用 Github 文档而不是网络,他们的网络文档很旧。 但是捆绑器工作正常。