博客 > 前端&移动端&桌面端 > React Native
# 从零开始建立带 TypeScript 的 React Native 项目(自用) > 前置条件: > - 趁手的IDE(如 IntelliJ IDEA / Vscode),经测试 Android Studio 不是一个能写RN的IDE(不支持JS语法分析) > - iOS开发必须环境:Xcode、CocoaPods > - Android开发必须环境:Android SDK。环境变量配置:ANDROID_HOME为SDK路径、ANDROID_SDK_ROOT为SDK路径、PATH添加platform-tools > - 如果想简化安卓模拟器使用和安卓SDK的维护,可以安装 Android Studio。注意 IntelliJ IDEA 的插件库直接就有安卓开发插件,因此无需额外安装 Android Studio。 参照官方文档,在项目目录的父目录执行以下命令(也就是不需要手动新建项目目录): ```sh # 项目名必须符合alphanumeric规则,可以有大写,不可以有连字符和下划线 npx react-native init 你的项目名 --template react-native-template-typescript ``` 项目生成完毕后,修改`.eslintrc.js`,屏蔽prettier,忽略一些无关紧要的报错,但是强制要求正确缩进: ```js module.exports = { // ... // other configs // ... rules: { 'prettier/prettier': 0, 'react-native/no-inline-styles': 0, 'indent': ['error', 2, { 'SwitchCase': 1, }], 'no-unreachable': 1, '@typescript-eslint/no-unused-vars': 0, 'curly': 0, }, }; ``` 修改`tsconfig.js`,添加几个开发友好的重要配置: ```js { "compilerOptions": { "noImplicitAny": false, "noUnusedVars": false, "noUnusedLocals": false, "noUnusedParameters": false, } } ``` 修改`android/build.gradle`,把repositories换源(注意换掉所有匹配项): ```gradle maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } // google() // jcenter() // mavenCenter() ``` 终端进入`ios`目录,执行以下命令(必须是Mac环境,Windows和Linux无法开发iOS APP): ```shell pod install ``` 项目本体初始化到此结束。App.tsx默认是在项目根目录下,如果想整理架构的话,可以新建一个src目录,把App.tsx挪至src,记得在index.js里重新引入。index.js就不推荐放在src里了,就放外面就行。 第一次运行时候可能会下载gradle,然后在build时通过gradle daemon下载所有依赖,建议“让网络稳定一点”。 建议用TAP,甚至TUN都不行。gradle不太好代理,我试了下面这个方法没用: 配置在`项目目录/android/` 或者 `用户文件夹/.gradle/`下的`gradle.properties`文件里 ```properties org.gradle.daemon=true http.proxyHost=127.0.0.1 http.proxyPort=7890 https.proxyHost=127.0.0.1 https.proxyPort=7890 ```