آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش ارتقاء نسخه React Native

دوره های مرتبط با این مقاله

آموزش ارتقاء نسخه React Native

ارتقاء به نسخه های جدید React Native به شما دسترسی به API های بیشتر، Viewها، ابزارهای توسعه دهندگان و غیره را می دهد. به روز رسانی کمی کار دارد، اما سعی می کنیم آن را برای شما آسان کنیم.

پروژه های Expo

ارتقای پروژه ی Expo به version جدید React Native نیازمند بروزرسانی version مربوط به package های react-native، react و expo در فایل package.json است.

برای جدیدترین اطلاعات درمورد بروزرسانی پروژه تان راهنمای گام به گام ارتقای Expo SDK را بخوانید.

پروژه های React Native

از آنجایی که پروژه های معمولی React Native اساسا از یک پروژه android، یک پروژه iOS و یک پروژه JavaScript تشکیل شده است، ارتقاء می تواند دشوار باشد. در اینجا مراحل کار را توضیح می دهیم:

ارتقا از طریق Git

React Native CLI یک دستور upgrade دارد که عملیات یک مرحله ای را برای ارتقاء فایل های resource با حداقل مغایرت، به لطف پروژه rn-diff-purge فراهم می کند.

1.بررسی کنید پروژه تان از git استفاده کند

این مرحله فقط برای پروژه هایی است که از git استفاده نمی کنند. اگر از git استفاده می کنید به مرحله بعد بروید.

با اینکه لازم نیست پروژه تان با git مدیریت شود – می توانید از Mercurial، SVN، یا هیچ versioning system استفاده نکنید- با حال باید git را روی سیستم تان نصب کنید تا بتوانید از react-native upgrade استفاده کنید. git باید در PATH موجود باشد. اگر پروژه تان از git استفاده نمی کند، آن را روی پروژه راه اندازی کنید و یک commit انجام دهید:


git add .
git commit -m "upgrade RN"

پس از اینکه upgrade انجام شد و conflict ها برطرف شد، می توانید دایرکتوری .git را حذف کنید.

2.دستور upgrade را اجرا کنید

دستور زیر را برای شروع پروسه ی upgrade به آخرین version اجرا کنید:


react-native upgrade

می توانید با استفاده از یک آرگومان version مربوط به React Native را تعیین کنید:


react-native upgrade 0.59.0-rc.0

پروژه با استفاده از git apply و 3 -way merge ، upgrade شده است. به همین دلیل ممکن است مجبور باشید conflict های پیش آمده را رفع کنید.

3.رفع conflict ها

فایل هایی که به conflict خورده اند حاوی جدا کننده هایی هستند که به روشنی نشان می دهد منشا تغییرات کجاست. مثلا:


13B07F951A680F5B00A75B9A /* Release */ = {
  isa = XCBuildConfiguration;
  buildSettings = {
    ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
<<<<<<< ours
    CODE_SIGN_IDENTITY = "iPhone Developer";
    FRAMEWORK_SEARCH_PATHS = (
      "$(inherited)",
      "$(PROJECT_DIR)/HockeySDK.embeddedframework",
      "$(PROJECT_DIR)/HockeySDK-iOS/HockeySDK.embeddedframework",
    );
=======
    CURRENT_PROJECT_VERSION = 1;
>>>>>>> theirs
    HEADER_SEARCH_PATHS = (
      "$(inherited)",
      /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
      "$(SRCROOT)/../node_modules/react-native/React/**",
      "$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**",
    );

می توانید "ours" را تیم خودتان، و "theirs" را تیم توسعه دهندگان React Native در نظر بگیرید.

روش های جایگزین

از این روش فقط زمانی استفاده کنید که روش بالا جواب ندهد.

1.react-native dependency را ارتقاء دهید

آخرین version برای react-native npm package را از اینجا ببینید (یا از دستور npm info react-native برای دیدن آخرین version استفاده کنید).

حال آن version را با دستور npm install –save در پروژه تان نصب کنید:


$ npm install --save react-native@X.Y
# where X.Y is the semantic version you are upgrading to
npm WARN peerDependencies The peer dependency react@~Rincluded from react-native

اگر هشداری درمورد peerDependency دیدید، react را هم با اجرای دستور زیر ارتقاء دهید:


$ npm install --save react@R
# where R is the new version of react from the peerDependency warning you saw

2. ارتقاء project template ها

package جدید npm ممکن است حاوی بروزرسانی برای فایل هایی باشد که موقع اجرای react-native init ایجاد می شوند. مثل زیرپروژه های iOS و اندروید.

می توانید از rn-diff-purge استفاده کنید و ببینید تغییری در فایل های آماده پروژه انجام شده یا نه. اگر تغییری نیست، پروژه را Rebuild کنید و به توسعه ادامه دهید. اگر تغییراتی کوچکی هست، باید پروژه را دستی update و rebuild کنید.

اگر تغییرات اساسی هستند، دستور زیر را اجرا کنید تا آن ها دریافت کنید:


$ react-native upgrade

این دستور فایل های شما را با آخرین template ها مقایسه می کند و کارهای زیر را انجام می دهد:


  • اگرفایل جدیدی در template هست، آن را ایجاد می کند.
  • اگر فایلی در template مشابه فایل شماست آن را رد می کند.
  • اگر فایلی متفاوت از template در پروژه ی شماست، به شما اعلام می کند: می توانید فایل را نگه دارید یا آن را با نسخه template جایگزین کنید.

ارتقای دستی

بعضی upgrade ها گام هایی دارند که باید دستی انجام شود، مثلا 0.28 به 0.29 یا 0.56 تا 0.57. حتما هنگام ارتقا release note ها را بخوانید تا از مراحل دستی لازم مطلع باشید.

  • 36
  •    0
  • تاریخ ارسال :   1398/06/11

دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .