1

我正在使用带有 react-navigation 的 react native web。我收到此错误:

Module not found: Can't resolve './PlatformHelpers' in '/home/vineet/projects/jm-agent-web/node_modules/react-navigation/lib'

我收到此错误是因为存在以下文件:PlatfomrHelpers.ios.js、PlatfomrHelpers.android.js、PlatfomrHelpers.web.js。但是没有 PlatfomrHelpers.js。

所以我的 ES6 导入系统无法为 react-native-web 中的导入名称“PlatfomrHelpers”导入 PlatfomrHelpers.web.js。

如何解决这个问题?

4

2 回答 2

2

我想分享我实施的解决方案,它是一个非常简单的解决方案。

这个问题可以通过告诉 webpack 优先导入 .web.js 文件来解决。

我进入了我的 webpack.config.js 文件。在顶级“resolve”属性中,我可以将“.web.js”添加为“extensions”数组中的一个元素。下面的代码解决了它:

extensions: ['.web.js', '.js', '.json', '.jsx']

现在我的 webpack 正在为声明选择“PlatfomrHelpers.web.js”:

import 'PlatformHelpers'
于 2017-09-27T09:48:14.530 回答
0

问题是 react-navigation 区分本地PlatformHelpers.native.jsPlatformHelpers.web.jsweb。使用 react native 你通常拥有.ios.js.android.js文件来区分你的平台,但 react-navigation 也针对 web。最简单的解决方案是教您的流程配置也处理.native.js本机文件和.web.js反应本机 Web。

因此,将此添加到您.flowconfig[options]部分中:

module.file_ext=.web.js

或者对于标准反应原生:

module.file_ext=.native.js
于 2017-12-14T15:23:44.750 回答