Expo
这边文章已经过时了,如果您想在expo中使用ts请到这里https://github.com/janaagaard75/expo-and-typescript来参考如何使用。
当我们读react native文档时发现了一个叫Expo的工具,这个工具可以很好的使我们快速的开发react native应用,里面的服务以及api都可以让使得我们开发得到质的飞越。通知,OTA, 发布,原生的一些工能都应有尽有。从调试到发布以及线上的热修复,expo都能为你提供这些服务。
配合使用TypeScript
TypeScript可以使我们在编写js的时候像使用其他一些静态类型语言一样,能让我编写出更加安全的代码,不仅如此我们还可以配合vscode,让你像使用ide一样去编写代码。在expo中你可能也想使用TypeScript,我在官网以及网上都没找到相关的资料。后来摸索中发现可以在app.json中添加下面的代码就可以使用了TypeScript
"packagerOpts": {
"assetExts": [
"ttf",
"mp4"
],
"sourceExts": [
"ts",
"tsx"
],
"transformer": "node_modules/react-native-typescript-transformer/index.js"
}
这里只是告诉expo一些文件的类型以及转换工具,就像babel的配置那样。当然你要看下你的node_modules中是否有这个转换器react-native-typescript-transformer没有的话你就要执行npm install react-native-typescript-transformer --save-dev了。然后你就可以想网上说的去配置你的typescript的开发环境了。比如如何使用@types去增强你的代码提示,如何使用tslint去增加你的代码的风格检查,这一切都变得相对简单了。
配合vscode进行断点调试
如果你不喜欢使用chrome调试你的代码,当然那不是一个最好的选择,想想一下你可以在vscode里打断点调试你的代码,这是多么爽的体验。首先你应该打开你的调试配置然后加入下面的代码
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug in Exponent",
"program": "${workspaceRoot}/.vscode/launchReactNative.js",
"type": "reactnative",
"request": "launch",
"platform": "exponent",
"sourceMaps": true,
"outDir": "${workspaceRoot}/.vscode/.react"
}
]
}
当然上面的代码应该是在你的.vscode配置里,如果你对使用vscode调试不太熟悉,你可以去vscode官网查看详细教程。
总结
如果你对我上面说的不太理解,那你应该第一步去expo官网查看一些教程,并且使用expo创建一个项目让它跑起来,第二步你应该了解TypeScript以及如何配置它,第三步你应该去vscode官网了解如何调试的一些问题。如果你还是不明白这些东西。你应该去github上找到这些项目然后去issues里去查找你的问题,这是一个解决问题比较好的方案。好了,接下来你就可以愉快的编码了。。。