2015-06-07 7 views
13

जब मैं एक प्रतिक्रिया-मूल परियोजना में प्रवेश करता हूं, index.ios.js प्रोजेक्ट एंट्री फ़ाइल के रूप में बनाया गया है।प्रतिक्रिया-मूल प्रविष्टि फ़ाइल का नाम कैसे बदलें (index.ios.js)

क्या मैं इस फ़ाइल का नाम बदल सकता हूं और यदि हां, तो कैसे?

उत्तर

17

जब आप आप प्रतिक्रिया Packager द्वारा इस संदेश को उत्पादन देखेंगे एक प्रतिक्रिया देशी अनुप्रयोग शुरू:

Running packager on port 8081 

और उसके बाद:

Looking for JS files in 
    /Users/gbirman/gil/mapily 


React packager ready. 

इस बिंदु तक, बंडल तैयार की है अपने जेएस फाइलें और .js एक्सटेंशन के साथ उनका नाम बदलकर .bundle कर दिया गया है। उदाहरण के लिए, अपने index.io.js फ़ाइल संकलित और से पेश किया जाता है:

http://localhost:8081/index.ios.bundle 

आप index.ios.js रूप में एक ही निर्देशिका में अन्य फ़ाइल foo.js जोड़ा है तो बंडल से यह काम करेगा:

http://localhost:8081/foo.bundle 

आप इस बात की पुष्टि कर सकते हैं अपने ब्राउज़र में उस यूआरएल को खोलकर।

अब आप अपने सवाल का जवाब देने, अपनी परियोजना the following line के साथ एक iOS/AppDelegate.m फ़ाइल है:

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"]; 

... जैसा कि आप देख सकते हैं, यह index.ios.bundle लोड करता है। आप जो कुछ भी आप चाहते हैं कि वहाँ पथ/फ़ाइल का नाम बदल सकते हैं, लेकिन यह शायद नामकरण अपनी प्रविष्टि फ़ाइल index.io.js

+0

क्या जब [ऑफ़लाइन बंडल] (उपयोग के बारे में https://facebook.github.io/react-native/docs/running-on-device-ios.html # का उपयोग कर-ऑफ़लाइन-बंडल)? ** संपादित करें: ** कभी भी ध्यान न दें, मैंने इसे समझ लिया ... वही काम करें लेकिन 'node_modules/प्रतिक्रिया-मूल/पैकेजर/प्रतिक्रिया-मूल-xcode में।sh' –

5

मान लीजिए आप चले गए हैं की सिफारिश की दृष्टिकोण के साथ रहना सबसे अच्छा है अपने एक फ़ोल्डर dist बुलाया में index.ios.jsAppDelegate.m में अद्यतन jsBundleURLForBundleRoot अपने अपडेट किए गए पथ से मेल करने के लिए: आप अपने विकास के वातावरण के लिए दो बातें

  1. करने की ज़रूरत है।

  2. आपके रिलीज बंडल के लिए: अपना एक्सकोड प्रोजेक्ट खोलें। आपको बंडल प्रतिक्रिया मूल कोड और छवियों कोके तहत कार्य करने की आवश्यकता होगी, अपनी परियोजना के लिए चरण बनाएं। इस खंड में खोल स्क्रिप्ट अद्यतन नीचे की तरह लग रहे करने के लिए:

    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 को दोषी अगर कोई भी पाया जाता है।

    Updated Build Phases Example

    Reference - react-native/scripts/react-native-xcode.sh

+1

सहायता के लिए धन्यवाद। TypeScript पर जाने के बाद इसकी आवश्यकता होती है क्योंकि index.ios.js फ़ाइल को एक कलाकृतियों निर्देशिका में ले जाया जाता है। – huntharo

+0

हाय @ अभिषेक, मैं टाइपस्क्रिप्ट का उपयोग कर रहा हूं, और मैंने अपनी स्क्रिप्ट को निम्न में बदल दिया है, लेकिन यह अभी भी एंट्री फाइल नहीं ढूंढ सकता है। कोई उपाय? निर्यात NODE_BINARY = नोड ../node_modules/react-native/scripts/react-native-xcode.sh /artifacts/index.ios.js उम्मीद पथ '/ कलाकृतियों/index.ios.js' रिश्तेदार होने के लिए परियोजना की जड़ें – ofer2980

+0

में से एक में मैं गलत हो सकता हूं लेकिन प्रमुख स्लैश आपके पथ को एक्सकोड में हल नहीं कर सकता है। प्रमुख स्लैश 'artifacts/index.ios.js' के बिना इसे आज़माएं। –

संबंधित मुद्दे