[React-Native]入门(Hello World)
(1)需要一台Mac(OSX),这个是前提,建议还是入手一本啦。
(2)在Mac上安装Xcode,建议Xcode 6.3以上版本
(3)安装node.js:https://nodejs.org/download/
A,使用Homebrew安裝nvm :$ brew install nvm
安裝完後,為了讓你可以直接在shell使用nvm指令,必須在你的 .bash_profile 加入以下這行(習慣把設定放在.bashrc的人可以把以下的.bash_profile改成.bashrc)
source $(brew --prefix nvm)/nvm.sh
或者直接輸入以下這行來加入
$ echo "source $(brew --prefix nvm)/nvm.sh" >> .bash_profile
記得重新source你的 .bash_profile 來讓設定生效
$ . ~/.bash_profile
OK,以上就完成了nvm的安裝,簡單吧!
使用nvm安裝Node.js
安裝完了nvm,接著安裝主角node。先用$ nvm ls-remote指令看一下有哪些版本可以安裝:
$ nvm ls-remote
v0.10.20
v0.10.21
v0.10.22
v0.10.23
v0.10.24
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.11.6
v0.11.7
v0.11.8
v0.11.9
v0.11.10
直接用$ nvm install 指令安裝官網上建議的版本:
$ nvm install v0.10.24
######################################################################## 100.0%
Now using node v0.10.24
也同時安裝最新版來測試nvm的版本管理功能:
$ nvm install v0.11.10
######################################################################## 100.0%
Now using node v0.11.10
使用nvm無痛切換Node.js版本
在介紹使用nvm切換版本前,先簡單說明nvm的工作原理。
nvm會把各個版本的node安裝在/usr/local/opt/nvm底下。我們可以看看該目錄底下放了哪些東西:
$ ls /usr/local/opt/nvm
INSTALL_RECEIPT.json LICENSE.md alias bin nvm.sh v0.10.24 v0.11.10
我們可以發現透過nvm安裝這兩個版本,事實上會在nvm目錄下另外建立了v0.10.24以及v0.11.10兩個目錄來分別存放node的binary檔。又nvm會在你的$PATH最前面安插指定版本的目錄,透過這個方式你在使用node指令時就會用指定的版本來運作了。
實際確認PATH的值看看:
$ echo $PATH
/usr/local/opt/nvm/v0.11.10/bin: ...
nvm的用法非常的簡單。我們可以另外用$ nvm ls指令確認nvm目前可以管理的版本有哪些:
$ nvm ls
v0.10.24
v0.11.10
current: v0.11.10
由於透過nvm安裝node,會自動把最後安裝的版本設為目前使用中的版本,因此上述指令會看到current: v0.11.10,表示我們目前正在使用v0.11.10
我們可以用$ nvm use 切換版本:
$ nvm use v0.10.24
Now using node v0.10.24
也可以偷懶一點,不用打完整的版號:
$ nvm use 0.10
Now using node v0.10.24
切換成別的版本看看:
$ nvm use 0.11
Now using node v0.11.10
夠簡單吧!
不過問題來了,如果你另外開一個shell視窗,並輸入nvm,會發現current version是空的:
$ nvm ls
v0.10.24
v0.11.10
current:
這是因為利用nvm use指令只會在當前的shell生效,當你開了新的shell就會發現
PATH的值已經不包含剛才設定的node目錄了。要解決這個問題就是利用
nvm alias default 來設定一個預設的node版本:
$ nvm alias default 0.10
default -> 0.10 (-> v0.10.24)
此時再打開另一個shell視窗,就可以直接使用你所設定的node版本了。
實際跑跑看Node.js
我們直接拿官網的例子來試試看
先產生一個example.js的檔案:
$ touch example.js
內容如下
http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
執行看看
$ node example.js
Server running at http://127.0.0.1:1337/
打開瀏覽器,輸入http://127.0.0.1:1337,如果看到 “Hello Word” 就代表成功了
後記
(4)建议安装watchman,终端命令:brew install watchman
(5)安装flow:brew install flow
(6)安装命令行工具 sudo npm install -g react-native-cli (如果连不上则切换国内镜像 sudo npm install -g cnpm --registry=https://registry.npm.taobao.org再运行 sudo cnpm install -g react-native-cli)
三、Hello, React-Native
现在我们需要创建一个React-Native的项目,因此可以按照下面的步骤:
打开终端,开始React-Native开发的旅程吧。
(1)创建一个空项目:终端输入:react-native init HelloWorld
(2)找到创建的HelloWorld项目,双击HelloWorld.xcodeproj即可在xcode中打开项目。xcodeproj是xcode的项目文件。
(3)在xcode中,使用快捷键cmd + R即可启动项目。基本的Xcode功能可以熟悉,比如模拟器的选择等。
启动完成后,你会看到React-Packger和iOS模拟器,具体的效果如下,说明你创建项目成功了。
[React-Native]入门(Hello World)的更多相关文章
- React Native入门教程 3 -- Flex布局
上一篇文章中介绍了基本组件的使用 React Native入门教程(笔记) 2 – 基本组件使用及样式 本节内容将继续沿用facebook官方例子介绍如何使用Flexbox布局把界面设计的多样化. 转 ...
- React Native入门教程2 -- 基本组件使用及样式
在上一篇文章中,我们学会了如何搭建React Native的环境(React Native入门教程(笔记) 1 – 开发环境搭建),不知道你们是否搭建好了呢,如果还没有,那么快动起小手,来体验RN带给 ...
- React Native入门教程 1 -- 开发环境搭建
有人问我为啥很久不更新博客..我只能说在学校宿舍真的没有学习的环境..基本上在宿舍里面很颓废..不过要毕业找工作了,我要渐渐把这个心态调整过来,就从react-native第一篇博客开始.话说RN也出 ...
- React Native 入门基础知识总结
中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...
- React Native入门-刘望舒
React Native入门(一)环境搭建与Hello World React Native入门(二)Atom+Nuclide安装.配置与调试 React Native入门(三)组件的Props(属性 ...
- React Native入门——布局实践:开发京东client首页(一)
有了一些对React Native开发的简单了解,让我们从实战出发.一起来构建一个简单的京东client. 这个client是仿照之前版本号的京东client开发的Android版应用,来源于CSDN ...
- react native 入门实践
上周末开始接触react native,版本为0.37,边学边看写了个demo,语法使用es6/7和jsx.准备分享一下这个过程.之前没有native开发和react的使用经验,不对之处烦请指出.希望 ...
- React Native 入门到原理(详解)
抛砖引玉(帮你更好的去理解怎么产生的 能做什么) 砖一.动态配置 由于 AppStore 审核周期的限制,如何动态的更改 app 成为了永恒的话题.无论采用何种方式,我们的流程总是可以归结为以下三部曲 ...
- React Native入门指南
转载自:http://www.jianshu.com/p/b88944250b25 前言 React Native 诞生于 2015 年,名副其实的富二代,主要使命是为父出征,与 Apple 和 Go ...
- 《React Native入门与实战》读书笔记(1)
ReactNative介绍 它的底层引擎是JavaScript Core,调用的是原生组件而非HTML5组件(HTML+CSS+JavaScript构建的组件).运行时,可以做到与Native App ...
随机推荐
- c# http请求,获取非200时的响应体
HttpWebResponse res = null; try { res = request.GetResponse() as HttpWebResponse; } catch (WebExcept ...
- Java Print 打印
Java 原生的API中有Print,使用Print可以操作打印机进行打印操作,获取打印机属性,下面是代码 打印程序(静默打印) package com.boci.PrintPDF; import j ...
- ios 开发之 -- UILabel的text竖行显示
让UILabel的内容竖行显示,我经常用一下两种方式: 第一种:使用换行符 \n label.text = @"请\n竖\n直\n方\n向\n排\n列"; label.number ...
- UnboundLocalError: local variable 'merchantCode' referenced before assignment
问题描述:变量赋值前未定义 定位原因:变量没有结果返回,导致赋值失败
- M451例程讲解之GPIO.H
到了CORTEX-M4,几乎每一快都有很大的知识量,单单GPIO库文件这一项就有很长的章节要描述,加油吧 GPIO.h.是最基础的一个库文件,下面结合数据手册来一一进行讲解: 先把库文件粘上,方便一一 ...
- 通过chrome浏览器调试手机页面(IOS和Android)
开发PC页面的时候使用chrome浏览器的开发者工具,可以很容易的捕获到页面的dom元素,并且可以修改样式,方便调试,但是手机上却很麻烦,因为手机上没有办法直接打开开发者工具查看元素.其实可以通过将设 ...
- AsyncTask--远程图片获取与本地缓存
对于客户端——服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量,对应用来说,如果处理不好这个问题,那会让用户很崩溃,不知不觉手机流量就用完了,等用户发现是你的应用消 ...
- 微信登陆,微信SDK授权登陆经验分享
From:http://www.eoeandroid.com/thread-547012-1-1.html 最近因为项目需要做了微信登陆,好像也是微信最近才放出来的接口.还需要申请才能有权限实现授权. ...
- MYSQL常用命令(转载)
1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldu ...
- js 匿名函数-立即调用的函数表达式
先提个问题, 单独写匿名函数为什么报错?return 匿名函数 为什么不报错? 如图: 第二种情况在 f 还没有执行的时候,就报错了,,,当然这得归因于函数声明语句声明提前(发生在代码执行之前)的原因 ...