Khi tôi khởi tạo dự án gốc phản ứng, index.ios.js
được tạo dưới dạng tệp mục nhập dự án.Cách đổi tên tệp mục nhập phản ứng gốc (index.ios.js)
Tôi có thể thay đổi tên của tệp này và nếu có, làm cách nào?
Khi tôi khởi tạo dự án gốc phản ứng, index.ios.js
được tạo dưới dạng tệp mục nhập dự án.Cách đổi tên tệp mục nhập phản ứng gốc (index.ios.js)
Tôi có thể thay đổi tên của tệp này và nếu có, làm cách nào?
Khi bạn khởi động một ứng dụng phản ứng bản địa, bạn sẽ thấy kết quả này nhắn bởi Phản ứng Packager:
Running packager on port 8081
và sau đó:
Looking for JS files in
/Users/gbirman/gil/mapily
React packager ready.
Bởi thời điểm này, đóng gói đã biên soạn của bạn Các tệp JS và đang phân phối chúng với tiện ích mở rộng .js
được đổi tên thành .bundle
. Ví dụ, tập tin index.io.js
của bạn được biên dịch và phục vụ từ:
http://localhost:8081/index.ios.bundle
Nếu bạn thêm một tập tin foo.js
trong cùng thư mục với index.ios.js
, các Packager sẽ phục vụ nó từ:
http://localhost:8081/foo.bundle
Bạn có thể xác nhận điều này bằng cách mở url đó trong trình duyệt của bạn.
Bây giờ để trả lời câu hỏi của bạn, dự án của bạn có một tập tin iOS/AppDelegate.m
với the following line:
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
... như bạn có thể thấy, nó tải các index.ios.bundle
. Bạn có thể thay đổi đường dẫn/tên tệp thành bất kỳ thứ gì bạn muốn, nhưng tốt nhất nên gắn với cách tiếp cận được đề xuất để đặt tên cho tệp nhập của bạn index.io.js
Giả sử bạn đã di chuyển index.ios.js
vào thư mục có tên dist
. Bạn cần phải làm hai việc
Đối với môi trường phát triển của bạn: Cập nhật jsBundleURLForBundleRoot
trong AppDelegate.m
để phù hợp với con đường cập nhật của bạn.
Đối với gói phát hành của bạn: Mở dự án Xcode của bạn. Bạn sẽ cần phải cập nhật mã Gói phản hồi gốc và hình ảnh tác vụ theo Tạo giai đoạn cho dự án của bạn. Cập nhật các kịch bản shell trong phần này để trông giống như dưới đây:
export NODE_BINARY=node ../node_modules/react-native/packager/react-native-xcode.sh dist/index.ios.js
react-native-xcode.sh
chấp nhận ENTRY_FILE
như một cuộc tranh cãi đầu tiên tùy chọn, mặc định cho index.ios.js
nếu không được tìm thấy.
Cảm ơn bạn đã hỗ trợ. Điều này là cần thiết sau khi chuyển sang TypeScript vì tệp index.ios.js được chuyển đến một thư mục tạo phẩm. – huntharo
Xin chào @abhishek, tôi đang sử dụng Typecript và tôi đã thay đổi tập lệnh của mình thành tập lệnh sau nhưng vẫn không thể tìm thấy tệp nhập. Bất kỳ ý tưởng? xuất NODE_BINARY = nút ../node_modules/react-native/scripts/react-native-xcode.sh /artifacts/index.ios.js Đường dẫn mong đợi '/ artifacts/index.ios.js' là tương đối đến một trong những gốc của dự án – ofer2980
Tôi có thể sai nhưng dấu gạch chéo hàng đầu có thể khiến đường dẫn của bạn không giải quyết trong Xcode. Hãy thử nó mà không có dấu gạch chéo hàng đầu 'artifacts/index.ios.js'. –
những gì về khi sử dụng [ẩn bó] (https://facebook.github.io/react-native/docs/running-on-device-ios.html # using-offline-bundle)? ** chỉnh sửa: ** không bao giờ nhớ, tôi đã tìm ra ... làm điều tương tự nhưng trong 'node_modules/phản ứng-native/packager/phản ứng-native-xcode.sh' –