一、开发前准备

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…