1

当我尝试通过 expo 运行 react-native 项目时,出现此错误

E:/reacrNative23april/firestoreTester26April/node_modules/react-native/Libraries/StyleSheet/processColor.js
Module not found: Can't resolve '../Utilities/Platform' in 'E:\reacrNative23april\firestoreTester26April\node_modules\react-native\Libraries\StyleSheet'

这似乎是一个常见问题(通过谷歌搜索很明显),但似乎没有解决。

此链接https://github.com/expo/web-examples/issues/73上有一些嗡嗡声,但解决方案尚不清楚。

有没有人经历过并解决了这个问题?

更多数据——

  1. 我的是一个裸工作流项目,有一些本机模块,不确定它们是否会成为问题
  2. 我试过删除 node_modules 文件夹并运行npm install,但没有运气
4

1 回答 1

0

react-native 中没有 Utilities/Platform 的非本地(即 web)版本。

您可以创建一个 webpack.config.js (expo 有一个帮助器),并为从各种 rn 库中使用的 Utilities/Platform 的相对引用添加一个别名到 react-native-web 提供的那个:

const createExpoWebpackConfigAsync = require('@expo/webpack-config');

module.exports = async function (env, argv) {
  const config = await createExpoWebpackConfigAsync(env, argv);
  // Customize the config before returning it.
  // Resolve relative reference ../Utilities/Platform using react-native-web
  config.resolve.alias['../Utilities/Platform'] = 'react-native-web/dist/exports/Platform';
  return config;
};
于 2021-08-18T11:04:08.940 回答