一、背景介绍
接触一门新的语言,第一是看官方的开发文档,第二自然就是开发工具,第三就是调试方法。
下面介绍RN所需要用到的开发工具和调试方法。
二、开发工具
1.sublime
Sublime Text 是一个复杂的文本、代码编辑器。出色用户界面,非凡的功能和惊人的性能。
下载地址:http://www.sublimetext.com/3
破解方法:点击菜单-help-Enter License
—– BEGIN LICENSE —–
Andrew Weber
Single User License
EA7E- 855605
813A03DD 5E4AD9E6 6C0EEB94 BC99798F
942194A6 02396E98 E62C9979 4BB979FE
91424C9D A45400BF F6747D88 2FB88078
90F5CC94 1CDC92DC 8457107A F151657B
1D22E383 A997F016 42397640 33F41CFC
E1D0AE85 A0BBD039 0E9C8D55 E1B89D5D
5CDB7036 E56DE1C0 EFCC0840 650CD3A6
B98FC99C 8FAC73EE D2B95564 DF450523
—— END LICENSE ——
|
为了开发React Native。需要再加入几个插件。
a) package controller
在sublime中View>Show Console控制台,复制下面的内容后回车,安装成功后重新启动sublime。
安装这个的目的是可以方便下载其他插件:输入package controller:install package 回车,然后输入我们要的插件就可以install下来了。
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88' ; pf = 'Package Control.sublime-package' ; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace( ' ' , '%20' )).read(); dh = hashlib.sha256(by).hexdigest(); print( 'Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88' ; pf = 'Package Control.sublime-package' ; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace( ' ' , '%20' )).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print( 'Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation' )
|
b) react-native-snippets
这个插件快速搭建一个RN开发环境还有一些生命周期的语法,搜索:react-native-snippets。(具体操作看https://packagecontrol.io/packages/react-native-snippets)
c) sublime-react
RN是基于React.js的,都是用JSX语法,是用来显示语法颜色,使代码看起来更漂亮。(具体内容看https://github.com/reactjs/sublime-react)
d) babel
babel插件支持ES6语法和JSX语法,要比sublime-react添加更多关键字,看起来更舒服。出现问题也会提示。
对比babel和sublime-react,更推荐babel。
至此,react-native的开发工具环境就搭建完成了。
在实际开发中遇到以下问题:
1.工程目录文件很多,开了一大堆窗口来切换,效率很低。
解决:可以直接拖文件夹进来,sublime左侧会展示目录结构。
2.没有太多的语法提示,定位bug比较难受。
解决:建议改一点代码就跑一下,反正是秒编嘛。
2.atom
经过测试,Atom在install nuclide之后会变得很卡,目前不建议尝试。如果非要尝试,看这篇:http://www.jianshu.com/p/5d772d2c6f5e
相信过不了多久,facebook完善了nuclide插件后,一款强大的rn编辑器就诞生了。
3.WebStorm
目前用过最好使的js编写的ide神器。和idea是同一家公司出的,所以各种像idea和as啊。
logo对比:
如果说开发JS像是在陌生的异域打拼,那么用了WebStorm就有一种回家了的感觉。
webstorm11.0.3 新特性描述:更好的支持了react语法。
话不多少,看截图就行,好用不好用,试试就知道。
三、调试工具
安装react dev的chrome插件(地址:官方插件)。在模拟器或真机菜单中选择Debug JS,即可开始调试。
会自动访问 http://localhost:8081/debugger-ui,应当能看到一个页面,或是按F12打开开发者菜单。
槽点:
-
在浏览器改动css后,模拟器的布局不跟着更新。
-
浏览器的dom和手机上的元素位置对不准确。
- debug状态没有关闭的情况下,模拟器会出现超时。
相关推荐
8.2 React Native 调试工具 147 8.3 JavaScript 之外的调试方法 152 8.4 测试代码 158 8.5 当你陷入困境 160 8.6 小结 160 第9章 学以致用 161 9.1 闪卡应用 161 9.2 模型与数据存储 168 9.3 使用Navigator ...
用于ReactNative应用网络调试的工具logger
涵盖React Native的组件、API、布局、第三方组件、原生接口、开发工具、命令行工具、调试工具;电商App项目案例开发;软件开发流程、应用架构设计、代码重构,以及原生平台与跨平台开发等
Expo XDE官方版是一款非常优秀的expo开发工具,Expo XDE官方版是一组工具、库和服务,能通过编写JavaScript来构建本地的iOS和Android应用程序,使用起来简单方便!
React Native Performance工具用于在开发,管道和生产中测量和监视React Native应用性能的工具链。配套 用于React Native的实现。 与React.Profiler API很好地集成跟踪应用程序中的任意事件,例如组件渲染时间捕获...
挑战的目标是使它适应轻调试和基本的React Native开发工具。 您将调试一些错误,然后花一些时间研究开发工具。挑战的目标是熟悉React Native的样式和布局功能。使用带有可发射火箭的按钮的应用程序。 该按钮应具有...
【录播】React Native架构和原理的简单介绍(16分钟) 免费试学 【录播】macOS iOS环境搭建(19分钟) 免费试学 【录播】macOS Android环境搭建(17分钟) 免费试学 【录播】Windows Android环境搭建(10分钟) 免费试学 ...
开发工具 [使用WebStorm调试React Native] [故事书] [reactotron] 节点相关 最佳拍档 原生集成 模拟与测试 [easy-mock介绍] [React Native自动化测试之排毒] 原生开发 [Maven知识点] 崩溃与埋点 [React本地织物] ...
React本机工具 稳定: 预习:React Native Tools预览该扩展程序有一个,该每天在每天发生更改的晚上9点(太平洋标准时间)发布。 为避免冲突,如果同时安装了两个扩展,则将激活唯一的稳定版本。 因此,要使用预览...
一个基于Webpack的工具包,可在Webpack生态系统的完全支持下构建您的React Native应用程序。 react-native-webpack-toolkit是下一代产品, 是一个用于React Native应用程序的基于Webpack的捆绑器。 react-native-...
React本机多捆基于react native的地铁捆绑器的配置化开发来处理分包,支持iOS和Android,支持远程加载,地铁捆绑器为官方打包的工具,使用官方分包方法更灵活稳定,比网上的一些方法更实用可靠。支持debug,任选模块...
$ npm run ios Android(5.0以上) 打开Android模拟器(推荐Genymotion )并运行命令:(或通过USB连接真实设备) $ npm run android 开发工具在开发模式下,您可以将React Native Debugger安装为默认调试器。...
特征 Webpack 生态系统、插件和实用程序 为 iOS、Android 和 out-of-tree 平台构建生产包 为 iOS、Android 和 out-of-tree 平台构建开发包 开发服务器支持: 远程JS调试源映射符号化热模块更换和React刷新使用r键从 ...
传统的Web前端开发人员自然很熟悉浏览器的调试工具,但是对于如何将其在RN中使用以便和移动端结合起来,也许会相当陌生。这也成为了一些开发者跨入RN移动开发大门的第一道小门槛。 本文是笔者一边参考官方文档,一边...
作为移动应用程序开发人员,您可能在React Native应用程序中检测,复制和调试运行时崩溃时遇到了自己独特的挑战。 当然,我们需要一个可以分析这些崩溃的崩溃分析器工具。 什么是Crashalert? 这是一个报告程序,...
原始样板是一个分支,我只是对我需要的内容做了一些调整React本机样板 适用于个人用途的React Native Redux样板包括和和和和插件: Redux Persist和Redux - Perist-transform-immutable 安装请参阅入门以安装需求...
在使用react-native进行开发时,您需要手动调整您的应用程序,使其在各种不同的屏幕尺寸下看起来都不错。 那是一件乏味的工作。 react-native-size-matters提供了一些简单的工具,使您的缩放变得更加容易。 这个想法...
相同CheckBox组件故事的示例react-native-elements网络和本机渲染。 哲学 一组用于创建基于项目的组件库的工具。 基于示例的自动生成的文档。 可扩展的建立在之上应该可以轻松调整项目的默认规则,避免锁定。 ...