今天来搞一搞怎么搭建一个可以使用Typescript的ReactNative环境好吧,一句废话不多说,直接开始好吧


1.全局安装create-react-native-app

yarn global add create-react-native-app

2.create-react-native-app 你的项目名称

例如:create-react-native-app  myApp

  运行完选择blank回车等待就好


3.cd到你的项目文件夹中,准备安装typeScript依赖


4.安装typeScript依赖

yarn add typescript tslint -D
yarn add @types/react @types/react-native @types/react-dom -D

5.继续安装其他依赖

yarn add concurrently rimraf -D

6.通过tsc --init生成tsconfig.json,或者手动创建一个tsconfig.json,将下面代码拷入该文件

  

{"compilerOptions": {"module":"es2015","target": "es2015","jsx": "react","rootDir": "src","outDir": "build","allowSyntheticDefaultImports": true,"noImplicitAny": true,"sourceMap": true,"experimentalDecorators": true,"preserveConstEnums": true,"allowJs": true,"noUnusedLocals": true,"noUnusedParameters": true,"noImplicitReturns": true,"skipLibCheck": true,"moduleResolution":"Node"},"filesGlob": ["typings/index.d.ts","src/**/*.ts","src/**/*.tsx","node_modules/typescript/lib/lib.es6.d.ts"],"types": ["react","react-dom","react-native"],"exclude":["build", "node_modules","jest.config.js","App.js"],"compileOnSave": false
}

7.安装react-native-scripts

yarn add react-native-scripts

8.将package.json中的"scripts"配置清空,并将以下代码替换

 

"scripts": {"start": "react-native-scripts start","eject": "react-native-scripts eject","android": "react-native-scripts android","ios": "react-native-scripts ios","test": "node node_modules/jest/bin/jest.js","lint": "tslint src/**/*.ts","tsc": "tsc","clean": "rimraf build","build": "yarn run clean && yarn run tsc --","watch": "yarn run build -- -w","watchAndRunAndroid": "concurrently \"yarn run watch\" \"yarn run android\"","buildRunAndroid": "yarn run build && yarn run watchAndRunAndroid ","watchAndRunIOS": "concurrently \"yarn run watch\" \"yarn run ios\"","buildRunIOS": "yarn run build && yarn run watchAndRunIOS ","watchAndStart": "concurrently \"yarn run watch\" \"yarn run start\"","buildAndStart": "yarn run build && yarn run watchAndStart "}

9.将package.json中的"main"配置清空替换为以下代码

"main": "./node_modules/react-native-scripts/build/bin/crna-entry.js"

10.将App.js中代码清空,并将以下代码替换

import App from './build/App';
export default App;

11.创建一个src文件夹,将babel.config.js文件放在src文件夹下,同时在src文件夹下创建一个App.tsx文件,App.tsx文件中代码如下

import React, { Component } from "react"
import { View, Text } from "react-native"export default class App extends Component {render() {return(<View><Text>红牛维生素功能饮料</Text></View>
    )}
}

12.执行yarn buildAndStart即可

  注意在此环境下编写ts文件时,后缀名写为tsx,暂时不知道什么原因,写ts后缀名有问题

  还有特别注意一下,在此环境导入图片时,用import有问题,只能用require,这个问题暂时不知道原因

更多专业前端知识,请上 【猿2048】www.mk2048.com

怎么在ReactNative里面使用Typescript相关推荐

  1. React 技术栈在蚂蚁金服的实践

    在2017在线技术峰会"阿里开源项目最佳实践"上,蚂蚁金服前端工程师崔晓斌为大家带来了"React 技术栈在蚂蚁金服的实践"的演讲.主要从研发的模式变迁开始说起 ...

  2. android仿喜马拉雅APP状态栏,ReactNative+TypeScript仿喜马拉雅开发App(示例代码)

    ReactNative+TypeScript仿喜马拉雅开发App 融合RN的跨平台能力+TS的全新开发体验 使用RN + TS开发听书App,从需求分析,到功能实现,一步步带领大家完成功能,学会如何解 ...

  3. ReactNative之从HelloWorld中看环境搭建、组件封装、Props及State

    开篇呢,先给大家问个好,今天是中秋节,祝大家中秋节快乐!!虽然是中秋节,但是木有回家还是总结一下知识点写写博客吧,想着昨天总结一下的,但是昨天和几个同学小聚了一下,酒逢知己总是千杯少呢,喝的微醺不适合 ...

  4. react-native init MyProject之后发生了什么

    使用了React-Native cli里index.js提到的yarn,版本号1.17.3: 所有的依赖和完整输出: $ react-native init MyProject This will w ...

  5. typescript语法高亮插件_vscode常用插件

    插件介绍 HTML Snippets > 初级H5代码片段及提示 HTML CSS Support > 初级H5代码片段及提示 Debugger for Chrome > 让 vsc ...

  6. React-Native 组件开发方法

    前言 React Native的开发思路是通过组合各种组件来组织整个App,在大部分情况下通过组合View.Image等几个基础的组件,可以非常方便的实现各种复杂的跨平台组件,不过在需要原生功能支持. ...

  7. 安装scss_React Native + Typescript + Scss开发配置过程

    React Native + Typescript + Scss开发配置过程 开发工具 Visual Studio Code React Native Tools扩展 Typescript支持 入口文 ...

  8. 使用TypeScript命令行工具 tsc CLI

    使用TypeScript命令行工具 tsc CLI 李俊才的个人博客 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.net/qq_28550263?s ...

  9. Vue3+TypeScript从入门到进阶(六)——TypeScript知识点——附沿途学习案例及项目实战代码

    文章目录 一.简介 二.Vue2和Vue3区别 三.Vue知识点学习 四.TypeScript知识点 一.JavaScript和TypeScript 二.TypeScript的安装和使用 1.Type ...

最新文章

  1. Codeforces Round #443 (Div. 2) B. Table Tennis
  2. iOS面试题 第一天
  3. hikvision v2.3控件网页demo_昆山UI网页设计师专业培训班 UI设计好就业吗?
  4. 【高等数学】微分中值定理
  5. 容器编排技术 -- Init 容器
  6. Linux下Socket的简单使用及最简化封装
  7. ES6环境搭建及react-router学习
  8. undefined reference to libiconv_open'
  9. Terminate Instance 操作详解 - 每天5分钟玩转 OpenStack(33)
  10. 对 数组[i].index=i的理解
  11. 左耳朵耗子:编程的本质是什么?
  12. js 获取ip和浏览器信息
  13. 吕林涛计算机网络知识点,计算机网络——习题与解析
  14. java http请求图片_Java上传带图片的Http请求详解
  15. 手撕生产者-消费者模式 | P问题、NP问题
  16. linux cenos7搭建lvs,CentOS7 搭建LVS+keepalived负载均衡
  17. 职场社交赛道上,脉脉靠什么弯道超车
  18. v-chart 图表样式调整 条形图位置调整及在条形图右边显示文字
  19. MongoDB4.2.0安装包并配上安装教程
  20. 清华博士生导师亲授:高考志愿计算机/AI专业填报指南

热门文章

  1. 基于VS的连连看小游戏
  2. php 随机钱数,PHP 仿微信红包金额随机
  3. java 生成校验验证码_java 验证码生成与校验
  4. (原创)SpringBoot入门
  5. MySQL--开发技巧(一)
  6. [BZOJ 1588] [HNOI 2002] 营业额统计
  7. blender的汉化方法!
  8. java 7 update 17_Java version 7, Update 17 is NOT recongnized by FireFox version 19.0.2
  9. python 读取当前文件夹下所有后缀为.lib文件
  10. matlab imwrite将图像保存到其他目录