安裝 React

安裝 React

React 可以被靈活地運用在各種項目中秩贰。你可以用它創(chuàng)建新的應(yīng)用程序,也可以逐漸地將其添加到現(xiàn)有的代碼庫中矮燎,而無需重寫毡证。

嘗試 React

如果你只是想簡單嘗試下 React,可以使用 CodePen. 首先試試這個 Hello World 示例代碼恢筝。你不需要安裝任何東西哀卫,還能簡單修改下代碼使其生效。

如果你喜歡使用自己的文本編輯器撬槽,你還可以 <a href="/react/downloads/single-file-example.html" download="hello.html">下載此 HTML 文件</a> 進行編輯, 然后在本地瀏覽器中打開此改。它會執(zhí)行緩慢的運行時代碼轉(zhuǎn)換,所以不要在生產(chǎn)環(huán)境中使用侄柔。

如果你想在一個完整的項目中使用 React共啃,一般有兩種方式:創(chuàng)建 React 應(yīng)用或添加 React 到現(xiàn)有應(yīng)用占调。

創(chuàng)建新應(yīng)用

Create React App 是開始構(gòu)建新的 React 單頁面應(yīng)用的最佳途徑。 它可以幫你配置開發(fā)環(huán)境移剪,以便你可以使用最新的 JavaScript 特性究珊,還能提供很棒的開發(fā)體驗,并為生產(chǎn)環(huán)境優(yōu)化你的應(yīng)用

npm install -g create-react-app
create-react-app my-app
cd my-app
npm start

Create React App 并不處理后端邏輯和數(shù)據(jù)庫纵苛,它只會創(chuàng)建一個前端的構(gòu)建管道剿涮,所以可以和任何后端搭配使用。它可以使用 Babel 和 Webpack 這樣的配置工具攻人,也可以零配置使用取试。

當(dāng)你準(zhǔn)備好將其部署到生產(chǎn)環(huán)境中時,運行 npm run build 將會在 build 文件夾中創(chuàng)建一個優(yōu)化好的應(yīng)用贝椿。你可以從 README用戶指南 中了解更多信息想括。

添加 React 到現(xiàn)有應(yīng)用

你不需要為了使用 React 重寫你的應(yīng)用。

我們建議你將 React 添加到應(yīng)用的一小部分中烙博,比如單個小部件瑟蜈,以便你看它是否適用于你的情況。

雖然 React 可以在沒有構(gòu)建管道的情況下使用 渣窜,但是為了更高效我是還建議你使用它铺根,現(xiàn)代的構(gòu)建管道通常包括:

  • 包管理器,比如 Yarnnpm乔宿。它可以讓你使用龐大的第三方軟件包生態(tài)系統(tǒng)位迂,還能很方便的安裝或升級。
  • 構(gòu)建器详瑞,比如 webpackBrowserify掂林。它允許你編寫模塊化代碼并且壓縮文件以優(yōu)化加載時間。
  • 編譯器 比如 Babel坝橡。它可以讓包含新特性的代碼運行在舊版瀏覽器上泻帮。

安裝

Note:

一旦安裝 React,我們強烈建議你將它配置為生產(chǎn)構(gòu)建程序 计寇,以確保你在生產(chǎn)環(huán)境中使用最新版本的 React锣杂。

我們建議使用 Yarnnpm 來管理前端的依賴關(guān)系, 如果你還未使用過包管理器,閱讀 Yarn 文檔 以快速入門番宁。

使用 Yarn 安裝 React:

yarn init
yarn add react react-dom

使用 npm 安裝 React:

npm init
npm install --save react react-dom

Yarn 和 npm 都會從 npm 倉庫 下載軟件包元莫。

使用 ES6 和 JSX

我們推薦使用 Babel 以便你在 JavaScript 中使用 ES6 和 JSX,ES6 擁有一系列 JavaScript 新特性的標(biāo)準(zhǔn)蝶押,能使你的開發(fā)更簡單踱蠢。JSX 是與 React 搭配使用的 JavaScript 語言的擴展。

Babel 安裝說明 說明了如何在多種不同的環(huán)境中配置 Babel播聪,確保你已經(jīng)安裝了babel-preset-reactbabel-preset-es2015 并且在 .babelrc configuration 配置文件中啟用它們, 到這里就準(zhǔn)備就緒了朽基。

在 Hello Wrorld 中使用 ES6 的 JSX

我們建議你使用像 webpackBrowserify 這樣的構(gòu)建工具布隔,以便于編寫模塊代碼并將其壓縮,優(yōu)化加載時間稼虎。

下面是最基本的 React 示例:

import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(
  <h1>Hello, world!</h1>,
  document.getElementById('root')
);

這段代碼會將其渲染入一個 ID 為 root 的 DOM 元素衅檀,所以在你的 HTML 文件中需要有 <div id="root"></div>

類似以上霎俩,你可以在任何由其他 JavaScript UI 庫編輯的現(xiàn)有應(yīng)用中哀军,將 React 渲染進一個 DOM 元素。

了解有關(guān)將 React 與現(xiàn)有代碼集成的更多信息打却。

開發(fā)和生產(chǎn)版本

默認(rèn)情況下杉适,React 會包含很多有用的警告,這些警告在開發(fā)中非常有用柳击。

然而猿推,這些警告使開發(fā)版本的 React 體積過大并且運行過慢,所以你應(yīng)該在部署應(yīng)用時使用生產(chǎn)版本

了解如何判斷你的網(wǎng)頁是否運行了合適的 React 版本, 以及如何有效的配置生產(chǎn)構(gòu)建程序:

使用 CDN

如果你不想使用 npm 來管理軟件包捌肴,'react' 和 'react-dom' npm 軟件包同樣提供了托管在 CDN 上的獨立文件蹬叭。

<script src="https://unpkg.com/react@15/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>

以上版本僅用于開發(fā),不適合生產(chǎn)状知。壓縮優(yōu)化的生產(chǎn)版本如下:

<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>

如果想要加載指定版本的 reactreact-dom秽五,用版本號替換 15。

如果你在使用 Bower饥悴,可以通過 react 包來使用 React坦喘。

Hello World

嘗試 React 最簡單的方法是使用 CodePen上的Hello World例子。如果你不想安裝任何東西西设,可以在瀏覽器中打開它瓣铣,然后跟著嘗試我們接下來的例子。如果你更愿意使用本地開發(fā)環(huán)境贷揽,可以查看完整代碼示例 坯沪。

一個最簡單的React例子如下:

ReactDOM.render(
  <h1>Hello, world!</h1>,
  document.getElementById('root')
);

它渲染了一個 "Hello, world!" 的標(biāo)題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末擒滑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子叉弦,更是在濱河造成了極大的恐慌丐一,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淹冰,死亡現(xiàn)場離奇詭異库车,居然都是意外死亡,警方通過查閱死者的電腦和手機樱拴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門柠衍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洋满,“玉大人,你說我怎么就攤上這事珍坊∥矗” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵阵漏,是天一觀的道長驻民。 經(jīng)常有香客問我,道長履怯,這世上最難降的妖魔是什么回还? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮叹洲,結(jié)果婚禮上柠硕,老公的妹妹穿的比我還像新娘。我一直安慰自己运提,他們只是感情好蝗柔,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著糙捺,像睡著了一般诫咱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洪灯,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天坎缭,我揣著相機與錄音,去河邊找鬼签钩。 笑死掏呼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铅檩。 我是一名探鬼主播憎夷,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼昧旨!你這毒婦竟也來了拾给?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤兔沃,失蹤者是張志新(化名)和其女友劉穎蒋得,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乒疏,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡额衙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窍侧。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡县踢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伟件,到底是詐尸還是另有隱情硼啤,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布锋爪,位于F島的核電站丙曙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏其骄。R本人自食惡果不足惜亏镰,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拯爽。 院中可真熱鬧索抓,春花似錦、人聲如沸毯炮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽桃煎。三九已至篮幢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間为迈,已是汗流浹背三椿。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留葫辐,地道東北人搜锰。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像耿战,于是被迫代替她去往敵國和親蛋叼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文是本人自己辛苦翻譯的剂陡,請轉(zhuǎn)載的朋友注明狈涮,翻譯于Z.MJun的簡書 ,感謝鸭栖!<翻譯不容易啊> 翻譯于2017年6...
    ZMJun閱讀 16,168評論 0 10
  • 7月25日更新: 快速簡潔創(chuàng)建react-native應(yīng)用的方法:僅需要按此文檔安裝到第四步完成nodejs薯嗤,然后...
    xiangdong_9013閱讀 277評論 0 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,190評論 25 707
  • 安裝React Native 配置環(huán)境要求: OS X:目前只有OS X中能夠安轉(zhuǎn)使用iOS的開發(fā)環(huán)境,并且Xco...
    PlusNie閱讀 1,085評論 0 2
  • 如果真的沒在一起纤泵,你也別難過, 也許他只是在你 無聊的時候給了你一些陪伴, 在你還沒了解自己 想要什么的時候給了你...
    篤學(xué)青衿閱讀 118評論 2 2