Когда я запускаю проект, отвечающий за реакцию, index.ios.js
создается как файл записи проекта.
Могу ли я изменить это имя файла, и если да, то как?
Когда я запускаю проект, отвечающий за реакцию, index.ios.js
создается как файл записи проекта.
Могу ли я изменить это имя файла, и если да, то как?
Когда вы запускаете приложение, основанное на реакции, вы увидите это сообщение, которое будет выведено пакетом React Packager:
Running packager on port 8081
а затем:
Looking for JS files in
/Users/gbirman/gil/mapily
React packager ready.
К этому моменту пакетщик скомпилировал ваши JS файлы и обслуживает их с расширением .js
, переименованным в .bundle
. Например, ваш файл index.io.js
скомпилирован и обслуживается из:
http://localhost:8081/index.ios.bundle
Если вы добавили еще один файл foo.js
в тот же каталог, что и index.ios.js
, он будет обслуживать его из:
http://localhost:8081/foo.bundle
Вы можете подтвердить это, открыв этот URL-адрес в своем браузере.
Теперь, чтобы ответить на ваш вопрос, ваш проект имеет iOS/AppDelegate.m
файл с следующей строкой:
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
... как вы можете видеть, он загружает index.ios.bundle
. Вы можете изменить путь/имя файла там, где хотите, но, вероятно, лучше всего придерживаться рекомендуемого подхода к наименованию вашего файла входа index.io.js
Предположим, вы переместили свой index.ios.js
в папку с именем dist
. Вам нужно сделать две вещи.
Для вашей среды разработки: обновите jsBundleURLForBundleRoot
в AppDelegate.m
, чтобы соответствовать обновленному пути.
Для вашего выпуска: Откройте проект Xcode. Вам необходимо будет обновить задачу "Исходный код и образы" Bundle React в разделе "Стили фазы" для вашего проекта. Обновите оболочку script в этом разделе, чтобы выглядеть следующим образом:
export NODE_BINARY=node
../node_modules/react-native/packager/react-native-xcode.sh dist/index.ios.js
react-native-xcode.sh
принимает ENTRY_FILE
как необязательный первый аргумент, по умолчанию index.ios.js
, если его не найдено.