React Native Unbundling和Inline需要

时间:2018-01-30 10:24:26

标签: react-native

我尝试对我的项目实施分拆和内联需求。 https://facebook.github.io/react-native/docs/performance.html#unbundling-inline-requires

它适用于模拟但是当我在iOs上发布项目或创建apk时出现android错误:

TransformError: /Users/<user_name>/codebase/<projectfoldername>/<project_name>/clients/mobile/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js: /Users/<user_name>/codebase/projectfoldername/<project_name>/clients/mobile/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js: NodePath has been removed so is read-only. (This is an error on an internal node. Probably an internal error)

还有这个:

error: File /Users/<user_name>/Library/Developer/Xcode/DerivedData/<project_name>-fggebbxvaywbawbbcoypijwnkwjm/Build/Intermediates.noindex/ArchiveIntermediates/therion_mobile/BuildProductsPath/Release-iphoneos/<project_name>.app/main.jsbundle does not exist.

然后我注意到组件AccessibilityInfo在等待模块中,但是我上面粘贴的链接指令说只有加载的模块会放在moduleNames上。

我试图将等待moduleNames.js的模块放到发布成功但移动应用程序的速度没有提高。这种情况发生在iO和Android平台上。

任何人都可以告诉我我缺少什么,或者我需要知道什么才能成功实现我的反应本机项目的分拆和内联需求?谢谢

1 个答案:

答案 0 :(得分:0)

转到metro.config.js并确保index.jsmetro.config.js文件处于同一级别,并将ROOT_FOLDER更改为此:

const ROOT_FOLDER = resolve(__dirname, '.');

只需一个点就可以告诉Metro,它们处于同一级别。