Wenn ich ein reaktionseigenes Projekt initiiere, wird index.ios.js
als Projekteintragdatei erstellt.So benennen Sie reaktiv-native Eingabedatei um (index.ios.js)
Kann ich den Namen dieser Datei ändern und wenn ja, wie?
Wenn ich ein reaktionseigenes Projekt initiiere, wird index.ios.js
als Projekteintragdatei erstellt.So benennen Sie reaktiv-native Eingabedatei um (index.ios.js)
Kann ich den Namen dieser Datei ändern und wenn ja, wie?
Wenn Sie eine reagieren-native App starten Sie diese Meldung ausgegeben durch die Reaktion Packager sehen werden:
Running packager on port 8081
und dann:
Looking for JS files in
/Users/gbirman/gil/mapily
React packager ready.
Zu diesem Zeitpunkt hat der Verpacker zusammengestellt Ihre JS-Dateien und versorgt sie mit der .js
Erweiterung umbenannt in .bundle
. Zum Beispiel Ihre index.io.js
Datei kompiliert und serviert von:
http://localhost:8081/index.ios.bundle
Wenn Sie eine andere Datei foo.js
im selben Verzeichnis wie index.ios.js
hinzugefügt, würde der Verpacker aus dienen:
http://localhost:8081/foo.bundle
Sie dies bestätigen können, indem Sie diese URL in Ihrem Browser öffnen.
Jetzt ist Ihre Frage, Ihr Projekt hat eine iOS/AppDelegate.m
Datei mit the following line zu beantworten:
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
... wie Sie sehen können, lädt es die index.ios.bundle
. Sie können den Pfad/Dateinamen dort ändern, was auch immer Sie wollen, aber es ist wahrscheinlich am besten mit dem empfohlenen Ansatz halten Ihren Eintrag Datei index.io.js
Angenommen, Sie haben Ihre bewegt index.ios.js
in einen Ordner namens dist
. Sie müssen zwei Dinge tun
Für Ihre Entwicklungsumgebung: aktualisieren jsBundleURLForBundleRoot
in AppDelegate.m
Ihre aktualisierten Pfad anzupassen.
Für Ihr Release-Paket: Öffnen Sie Ihr Xcode-Projekt. Sie müssen die Bundle React Native Code und Bilder Task unter Build-Phasen für Ihr Projekt aktualisieren. Aktualisieren Sie den Shell-Skript in diesem Abschnitt schauen, wie unten:
export NODE_BINARY=node ../node_modules/react-native/packager/react-native-xcode.sh dist/index.ios.js
react-native-xcode.sh
die ENTRY_FILE
als optionales erstes Argument akzeptiert, säumigen zu index.ios.js
wenn keiner gefunden wird.
Danke für die Unterstützung. Dies ist erforderlich, nachdem Sie zu typeScript gewechselt haben, da die Datei index.ios.js in ein Artefakte-Verzeichnis verschoben wird. – huntharo
Hallo @abhishek, ich benutze Typescript, und ich änderte mein Skript in den folgenden, aber es kann immer noch nicht die Eintragsdatei finden. Irgendeine Idee? Export NODE_BINARY = Knoten ../node_modules/react-native/scripts/react-native-xcode.sh /artifacts/index.ios.js Erwartete Pfad '/ Artefakte/index.ios.js' relativ zu sein zu einer der Projektwurzeln – ofer2980
Ich könnte falsch liegen, aber der führende Schrägstrich verursacht möglicherweise Ihren Pfad nicht in Xcode auflösen. Versuchen Sie es ohne den führenden Schrägstrich 'artifacts/index.ios.js'. –
was bei Verwendung von [Offline-Paket] (https://facebook.github.io/react-native/docs/running-on-device-ios.html # using-offline-bundle)? ** edit: ** egal, ich habe es herausgefunden ... mach das selbe aber in 'node_modules/react-native/packager/react-native-xcode.sh' –