首页 > 解决方案 > React Native Metro 捆绑器选择要导入的文件。如何做出行为就像 Webpack 解析器 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 的情况下自己运行 bundler 吗?

标签: reactjsreact-nativemetro-bundler

解决方案


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

使用 Github 文档而不是 Web,他们的 Web 文档已经很老了。但是捆绑器工作正常。


推荐阅读