ReactNative開發實戰——React Native開發環境配置指南

一、開發前準備

1. macOS平臺基礎工具安裝

brew install node@18
brew install watchman
brew install cocoapods

2. 代理配置

npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890# 新增擴展建議(可選配置)
echo 'export ALL_PROXY=http://127.0.0.1:7890' >> ~/.zshrc  # 全局代理設置
git config --global http.proxy http://127.0.0.1:7890       # Git代理設置

二、項目創建

1. 初始化項目

npx @react-native-community/cli init AwesomeProject

2. pnpm支持配置

// metro.config.js
const path = require('path');
const { getDefaultConfig } = require('metro-config');module.exports = (async () => {const {resolver: { sourceExts, assetExts },} = await getDefaultConfig();return {resolver: {extraNodeModules: new Proxy({},{get: (_, name) => path.join(process.cwd(), `node_modules/${name}`),}),assetExts: [...assetExts, 'hcscript'],sourceExts: [...sourceExts, 'ts', 'tsx'],},transformer: {getTransformOptions: async () => ({transform: {experimentalImportSupport: false,inlineRequires: true,},}),},};
})();

三、項目結構配置

1. 目錄結構創建

mkdir -p src/{assets/{fonts,images},components/{common,glucose,charts},constants,contexts,hooks,navigation,screens/{TodayScreen,TrendsScreen,ProfileScreen},services,store,styles,utils}

結構示意圖

src/
├── assets/          # 靜態資源
│   ├── fonts/       # 字體文件
│   └── images/      # 圖片資源
├── components/      # 組件庫
│   ├── common/      # 通用組件
│   ├── glucose/     # 血糖相關組件(保留您特定業務組件)
│   └── charts/      # 圖表組件
└── ...              # 其他原始目錄結構

四、開發配置優化

1. TypeScript路徑別名

// tsconfig.json
{"compilerOptions": {"baseUrl": ".","paths": {"@assets/*": ["src/assets/*"],"@components/*": ["src/components/*"]// ...其他原始別名配置}}
}

2. Babel配置增強

// babel.config.js
module.exports = {presets: ['module:@react-native/babel-preset'],plugins: [['module-resolver',{root: ['./src'],extensions: ['.ios.js','.android.js', '.js','.ts','.tsx','.json'],alias: {'@assets': './src/assets','@components': './src/components',// ...其他別名}}],'react-native-worklets/plugin' ]
};

五、編譯加速方案

1. 多層級代理配置(新增)

# Android專屬代理(gradle.properties)
echo "systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=7890
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7890" > ~/.gradle/gradle.properties# CocoaPods代理
echo "install! 'cocoapods', :http_proxy => 'http://127.0.0.1:7890', :https_proxy => 'http://127.0.0.1:7890'" >> Podfile

2. 鏡像源加速(兼容性擴展)

# 可選清華源
npm config set registry https://registry.npmmirror.com
pod repo add tsinghua https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git

六、驗證方案

1. 環境檢查腳本

#!/bin/zsh
echo "=== 環境驗證報告 ==="
echo "Node版本: $(node -v)"
echo "npm鏡像源: $(npm config get registry)"
echo "PNPM版本: $(pnpm -v 2>/dev/null || echo '未安裝')"
echo "iOS工具鏈: $(pod --version 2>/dev/null || echo '未配置')"
echo "Android構建: $(grep maven.aliyun.com android/build.gradle 2>/dev/null && echo '阿里云鏡像已配置' || echo '未檢測到鏡像')"

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93768.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93768.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93768.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

差速轉向機器人研發:創新驅動的未來移動技術探索

在科技日新月異的今天,機器人技術作為智能制造與自動化領域的核心驅動力,正以前所未有的速度發展。其中,差速轉向機器人以其獨特的運動機制和廣泛的應用前景,成為了科研與工業界關注的焦點。本文旨在探討差速轉向機器人研發進展&a…

Wireshark捕獲電腦與路由器通信數據,繪制波形觀察

一、準備工作 電腦發出數據的波形圖繪制在我的另一篇博客有詳細介紹: 根據Wireshark捕獲數據包時間和長度繪制電腦發射信號波形-CSDN博客 路由器發送給電腦數據的波形圖繪制也在我的另一篇博客有詳細介紹: 根據Wireshark捕獲數據包時間和長度繪制路由…

汽車ECU實現數據安全存儲(機密性保護)的一種方案

一、 綜述在車輛ECU中總是有一些密鑰或重要數據需進行機密性保護,但因產品選型、成本等考慮,導致一些ECU的芯片不支持硬件安全模塊(例如HSM、TEE等)。此時,為保障數據的機密性,可考慮通過軟件實現數據的安全…

AI 效應: GPT-6,“用戶真正想要的是記憶”

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…

云計算學習100天-第25天

部署LNMP環境安裝軟件#在前一天已經安裝nginx的基礎上安裝MariaDB,php和php-fpm yum -y install mariadb mariadb-server mariadb-devel php php-mysqlnd php-fpm #mariadb(數據庫客戶端軟件)、mariadb-server(數據庫服務器軟件&…

細化的 Spring Boot 和 Spring Framework 版本對應關系

注:本文由ai輔助,個人整理,有問題可留言 Spring Boot 3.x 系列 (基于 Spring Framework 6.x) Spring Boot 版本 對應的 Spring Framework 版本 Java 支持版本 3.1.5 (最新) 6.0.15 Java 17+ 3.1.4 6.0.14 Java 17+ 3.1.3 6.0.12 Java 17+ 3.1.2 6.0.11 Java 17+ 3.1.1 6.0.…

PyTorch API 1

文章目錄torch張量創建操作索引、切片、連接與變異操作加速器生成器隨機采樣原地隨機采樣準隨機采樣序列化并行計算局部禁用梯度計算數學運算常量逐點運算歸約操作比較運算頻譜操作其他操作BLAS 和 LAPACK 運算遍歷操作實用工具符號數字導出路徑控制流優化方法操作符標簽torch.…

基于FPGA的實時圖像處理系統(2)——VGA顯示彩條和圖片

VGA顯示彩條和圖片 文章目錄VGA顯示彩條和圖片一、VGA簡介二、功能設計1、彩條設計2、圖片設計三、結果展示四、代碼一、VGA簡介 VGA(Video Graphics Array)是IBM在1987年隨PS/2機?起推出的?種視頻,具有分辨率?、顯?速率快、顏?豐富等優點,在彩 ?…

【網絡運維】Linux 文本處理利器:sed 命令

Linux 文本處理利器:sed 命令 sed 簡介 sed(Stream Editor)是一款非交互式的流編輯器,誕生于 1973–1974 年間的貝爾實驗室,由 McMahon 開發。它專為文本處理而生,功能強大,是 Linux 文本處理常…

week2-[一維數組]出現次數

week2-[一維數組]出現次數 題目描述 給定 NNN 個整數A1,A2,…,ANA_1,A_2,\ldots,A_NA1?,A2?,…,AN?。請求出這 NNN 個數中出現次數最多的數的出現次數,以及出現次數最少的數的出現次數。 輸入格式 讀入包括 222 行。第一行只有 111 個整數 NNN,表示數…

力扣 hot100 Day79

215. 數組中的第K個最大元素 給定整數數組 nums 和整數 k,請返回數組中第 k 個最大的元素。 請注意,你需要找的是數組排序后的第 k 個最大的元素,而不是第 k 個不同的元素。 你必須設計并實現時間復雜度為 O(n) 的算法解決此問題。 class…

C++圍繞音視頻相關的資料都有哪些?如何進行學習

音視頻技術涉及的內容廣泛而深入。我會根據自己的知識給你提供一個系統性的音視頻相關資料梳理,主要分為學習路徑與核心知識、開源項目與實戰、開發者資源以及熱點與趨勢幾個方面,希望能幫助你高效地學習和探索。 先用一個表格來概覽主要的學習方向和資…

AI自動化測試,解決傳統自動化測試中??腳本維護成本高、用例覆蓋不全、缺陷發現滯后??等痛點

AI自動化測試,解決傳統自動化測試中??腳本維護成本高、用例覆蓋不全、缺陷發現滯后??等痛點AI自動化測試通過機器學習(ML)、自然語言處理(NLP)、計算機視覺(CV)等技術,解決了傳統…

Laravel 事件與監聽器

下面是一個完整的用戶注冊事件和監聽器的實現示例,包含事件、監聽器、注冊、觸發等完整流程。一、軟件版本 php: 8.2.20laravel: 11mysql: 8.0.29 二、完整實現過程 1.創建事件 1.1 首先創建用戶注冊事件 php artisan make:event UserRegistered1.2 編輯app/Events/…

前端 React 實現數據懶加載-滾動觸底加載數據

在 React 中使用 Intersection Observer API 實現觸底加載分頁&#xff08;無限滾動&#xff09;1.基本實現思路 在列表底部放置一個 哨兵元素&#xff08;Sentinel&#xff09;&#xff08;如 <div>&#xff09;。使用 IntersectionObserver 監聽該元素是否進入視口&…

MySQL 50 道經典練習題及答案

目錄 一、數據表設計與初始化 1. 數據表結構說明 2. 建表語句 3. 插入測試數據 二、練習題及答案 1. 查詢 "01" 課程比 "02" 課程成績高的學生的信息及課程分數 2. 查詢同時存在 "01" 課程和 "02" 課程的情況 3. 查詢存在 &qu…

電競護航小程序搭建三角洲俱樂部護航派單小程序開發游戲派單系統定制開發

成品系統&#xff0c;可以快速搭建。功能概述&#xff1a;商家入駐、老板點單、快捷發單、自定義發單、發單列表、管事入駐、訂單審核裁決、打手入駐、打手排行榜、邀請排行榜、賬戶充值、余額提現、成為客服等

MYSQL-增刪查改CRUD

目錄 &#x1f33f;前言&#xff1a; &#x1f33f;增-C-Create-新增 &#x1f9ca;單行數據全列插入 &#x1f34b;?&#x1f7e9;語法&#xff1a; &#x1f34b;?&#x1f7e9;演示&#xff1a; &#x1f9ca;指定列插入 &#x1f34b;?&#x1f7e9;語法&#xf…

【Loss學習筆記】Focal loss、QFL、DFL、VFL——目標檢測定位損失函數詳解

文章目錄Focal loss&#xff08;2018 ICCV &#xff0c;RetinaNet&#xff09;1、Focal Loss 提出背景問題一&#xff1a;正負樣本數量不均衡問題問題二&#xff1a;難分類/易分類樣本數量不均衡問題對兩個問題的解決2、正負樣本數量不均衡問題的解決&#xff1a;Focal loss 的…

nertctl使用了解

測試了幾個容器&#xff0c;似乎未對k8s的containerd產生影響&#xff0c;都能訪問 再次測試&#xff0c;containerd發生了重啟&#xff0c;nrtdctl啟動的容器都沒了 #### sealos 創建containerd集群 sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.29…