我想在我的React Native包中导入ReactNativePropRegistry。在反应本机中有条件地解析模块
我曾经在React Native 0.38.0之前将它从'react/lib/ReactNativePropRegistry'
导入,但它在React Native 0.38.0中更改为'react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry'
。
我要支持所有的阵营原生版本,包括0.38.0我的包,所以我做了这个
if(semver.gte(reactNativeVersion, '0.38.0-rc.0')) {
const ReactNativePropRegistry = require('react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry');
} else {
const ReactNativePropRegistry = require('react/lib/ReactNativePropRegistry');
}
但似乎打包尝试静态解析模块。因此,即使reactNativeVersion小于0.38.0-rc.0,它也会尝试在此路径上解析模块'react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry'
,从而导致它引发错误Unable to resolve module ...
。
有没有办法解决这个问题?