Gab*_*que 11 java android ios reactjs react-native
在使用react-native init awesomeProject启动一个新项目之后,我尝试重构我的项目,将index.ios.js和index.android.ios放在一个名为src的公共文件夹中.
当我执行react-native run-android时,我收到以下错误:
在哪里我必须改变反应原生搜索正确路径中的条目文件?
Mic*_*nov 23
我在react-native 0.35上使用了以下步骤
对于开发,您需要打开一个文件
MyProject/android/app/src/main/java/com/MyProject/MainApplication.java
并覆盖一个ReactNativeHost
被调用的方法getJSMainModuleName
:
package com.MyProject;
// ...
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
// ...
// ADD THE LINES BELOW
@Override
protected String getJSMainModuleName() {
return "src/index.android";
}
// ADD THE LINES ABOVE
};
// ...
}
Run Code Online (Sandbox Code Playgroud)
这样,应用程序将知道从打包服务器获取模块的位置.
对于制作,当您使用构建APK时,cd android && ./gradlew assembleRelease
您必须修改文件
MyProject/android/app/build.gradle
并添加自定义构建选项,请确保将它们放在apply from: "../../node_modules/react-native/react.gradle"
行之前:
apply plugin: "com.android.application"
import com.android.build.OutputFile
// ...
// ADD THE LINES BELOW
project.ext.react = [
// the entry file for bundle generation
entryFile: "src/index.android.js",
]
// ADD THE LINES ABOVE
// ...
apply from: "../../node_modules/react-native/react.gradle"
Run Code Online (Sandbox Code Playgroud)
不幸的是我现在没有iOS设置,我还无法帮助你.
gon*_*ong 14
感谢Michael的信息!我为iOS做了这个案例,并为Android和iOS提供了完整的答案.
与Android一样,开发和生产的答案也不同.
用于开发(调试模式)
去 AppDelegate.m
将参数设置jsBundleURLForBundleRoot
为条目文件的路径,并将其设置moduleName
为您在RN js中注册的组件.例如,如果我想将条目js文件更改为js/screen/LoginScreen.js并将组件更改为LoginScreen,请执行以下操作:
jsCodeLocation = [[RCTBundleURLProvider sharedSettings]
jsBundleURLForBundleRoot:@"js/screen/LoginScreen"
fallbackResource:nil];
rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"LoginScreen"
initialProperties:nil
launchOptions:launchOptions];
Run Code Online (Sandbox Code Playgroud)用于生产(发布模式)
对于生产模式,Xcode在构建时生成jsbundle文件.除了我们为调试模式所做的,我们还需要告诉Xcode jsbundle的入口文件.
转到当前目标的" 构建阶段 "选项卡.在" Bundle React Native code and images "阶段,将您的条目文件附加到shell的末尾
有关如何在iOS上运行开发/产品模式的信息
归档时间: |
|
查看次数: |
9389 次 |
最近记录: |