通过 expo 运行 react-native 项目 web 版本的 web 版本时出错。消息是 - 无法编译 /Libraries/StyleSheet/processColor.js
Posted
技术标签:
【中文标题】通过 expo 运行 react-native 项目 web 版本的 web 版本时出错。消息是 - 无法编译 /Libraries/StyleSheet/processColor.js【英文标题】:Error while running web version of react-native project web version via expo. The message is - Failed to compile /Libraries/StyleSheet/processColor.js 【发布时间】:2021-08-28 18:30:52 【问题描述】:当我尝试通过 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有一些嗡嗡声,但是解决方法不是很清楚。
有没有人经历过并解决了这个问题?
更多数据-
-
我的是一个裸工作流项目,带有一些原生模块,不确定它们是否会成为问题
我已尝试删除 node_modules 文件夹并运行
npm install
,但没有成功
【问题讨论】:
【参考方案1】:react-native 中没有非本地(即 web)版本的 Utilities/Platform。
您可以创建一个 webpack.config.js (expo has a helper for this) 并为在各种 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;
;
【讨论】:
以上是关于通过 expo 运行 react-native 项目 web 版本的 web 版本时出错。消息是 - 无法编译 /Libraries/StyleSheet/processColor.js的主要内容,如果未能解决你的问题,请参考以下文章
React-Native Expo,Facebook 登录无法在 Android 设备上运行
当我运行“npx react-native start”时找不到模块“@expo/metro-config”
未找到模块:错误:无法解析“../aws-exports”(React-Native Expo Web)
react-native expo android macos问题