【轉(zhuǎn)載】React初學(xué)者教程15:設(shè)置React開發(fā)環(huán)境

概述:學(xué)習(xí)如何配置 Node盖文、Babel 和 Webpack 來高效創(chuàng)建 React 應(yīng)用。著作權(quán)歸作者所有兑巾。

商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處狮鸭。

原文:http://www.w3cplus.com/react/setting-up-react-environment.html?w3cplus.com

注意:本文主要是針對(duì)原文中本人遇到問題的處理方式進(jìn)行分享,如有不足之處希望指出牌柄。


一畸悬、開發(fā)工具概述

設(shè)置 React 開發(fā)環(huán)境,我們需要用到 Node.JS珊佣、Babel蹋宦、Webpack 以及一款編輯器作為開發(fā)工具披粟。

1. Node.JS

很長(zhǎng)一段時(shí)間,JavaScript 只是為瀏覽器寫代碼冷冗。Node.js 改變了這一切守屉,它允許我們用 JavaScript 編寫可以運(yùn)行在服務(wù)器上的應(yīng)用程序,并且可以訪問瀏覽器做夢(mèng)都想不到的 API 和系統(tǒng)資源拇泛。它基本上是一個(gè)完整的應(yīng)用程序開發(fā)運(yùn)行時(shí), 它的應(yīng)用程序全部都是創(chuàng)建和運(yùn)行在 JavaScript 上思灌,而不是 Java俺叭、C#泰偿、C++ 等之上耗跛。

這里我們只是用 Node.js 來管理依賴课兄,并且將 JSX 轉(zhuǎn)換為 JavaScript 所需的步驟捆在一起搬俊。將 Node.js 當(dāng)作是讓開發(fā)環(huán)境工作的膠水蜒茄。

2. Babel

Babel 是一個(gè) JavaScript 轉(zhuǎn)換器唉擂,它將 JavaScript 變成 JavaScript(現(xiàn)在是將高版本的 ES6/ES7 轉(zhuǎn)換為 ES5)。這聽起來有點(diǎn)古怪檀葛,所以我來澄清一下玩祟。如果我們?cè)诖a中使用最新的 JavaScript 功能,那么舊瀏覽器在遇到新的函數(shù)/屬性時(shí)屿聋,是不認(rèn)識(shí)的空扎。如果代碼中包含有 JSX,沒有瀏覽器會(huì)知道要用它做什么润讥!

Babel 所做的就是將你的新奇的 JS 或者 JSX 轉(zhuǎn)換成大多數(shù)瀏覽器能理解的 JS 形式转锈。我們已經(jīng)用了瀏覽器內(nèi)的版本來將 JSX 轉(zhuǎn)換為 JavaScript。后面楚殿,你會(huì)看到我們?nèi)绾螌?Babel 集成為構(gòu)建過程的一部分撮慨,來將 JSX 生成為瀏覽器能讀的 JS 文件。

3. Webpack

我們要依賴的最后一個(gè)工具是 webpack,它是一個(gè)模塊打包器砌溺。先把花哨的標(biāo)題放一邊影涉,你的應(yīng)用包含的很多框架和庫有很多依賴,你所依賴的這些功能的不同部分可能只是一個(gè)較大組件的一個(gè)子集规伐。

你可能不要要所有不需要的代碼蟹倾,而 webpack 這類工具會(huì)扮重要的角色,讓你只包含讓應(yīng)用程序能工作所需的相關(guān)代碼楷力。它們經(jīng)常把所有相關(guān)的代碼(甚至來自不同源文件)打包為一個(gè)文件:

我們將依賴 webpack 把 React 庫、JSX 文件和任何其它 JavaScript 的相關(guān)部分打包為一個(gè)文件孵户。它還能擴(kuò)展到 CSS(LESS/SASS)文件和應(yīng)用程序所用的其它類型的素材萧朝,但是這里我們只關(guān)注 JavaScript。


二夏哭、項(xiàng)目目錄


項(xiàng)目目錄

三检柬、問題處理

1、最后一步[創(chuàng)建和測(cè)試應(yīng)用程序]的時(shí)候如果是Windows系統(tǒng)要注意命令用反斜杠:

解決方法:

[Mac上輸入以下代碼]:

./node_modules/.bin/webpack

[Windows應(yīng)該這樣]:

.\node_modules\.bin\webpack

------------------------------------------------------------------------------------------------------------------

2竖配、執(zhí)行出現(xiàn)Can't resolve 'babel'的錯(cuò)誤:

babel錯(cuò)誤

解決方法:

需要在webpack.config.js文件里修改babel的配置

loader:'babel',

//修改為:

loader:'babel-loader'

webpack-config.js源碼

------------------------------------------------------------------------------------------------------------------

3何址、ERROR in Cannot find module 'babel-core'. using react.js, webpack, and express server

解決方法:

在終端/命令行提示符中輸入:

npm install babel-core babel-loader--save-dev

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市进胯,隨后出現(xiàn)的幾起案子用爪,更是在濱河造成了極大的恐慌,老刑警劉巖胁镐,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偎血,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡盯漂,警方通過查閱死者的電腦和手機(jī)颇玷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來就缆,“玉大人帖渠,你說我怎么就攤上這事洪规〕睿” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵丈攒,是天一觀的道長(zhǎng)切揭。 經(jīng)常有香客問我渣淳,道長(zhǎng),這世上最難降的妖魔是什么伴箩? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任入愧,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棺蛛。我一直安慰自己怔蚌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布旁赊。 她就那樣靜靜地躺著桦踊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪终畅。 梳的紋絲不亂的頭發(fā)上籍胯,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音离福,去河邊找鬼杖狼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛妖爷,可吹牛的內(nèi)容都是我干的蝶涩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼絮识,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼绿聘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起次舌,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤熄攘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后彼念,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鲜屏,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年国拇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洛史。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡酱吝,死狀恐怖也殖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情务热,我是刑警寧澤忆嗜,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站崎岂,受9級(jí)特大地震影響捆毫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冲甘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一绩卤、第九天 我趴在偏房一處隱蔽的房頂上張望途样。 院中可真熱鬧,春花似錦濒憋、人聲如沸何暇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裆站。三九已至,卻和暖如春黔夭,著一層夾襖步出監(jiān)牢的瞬間宏胯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工本姥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肩袍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓扣草,卻偏偏與公主長(zhǎng)得像了牛,于是被迫代替她去往敵國和親颜屠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辰妙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

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

  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看甫窟,也希望更多的人看到...
    小小字符閱讀 8,160評(píng)論 7 35
  • GitChat技術(shù)雜談 前言 本文較長(zhǎng)密浑,為了節(jié)省你的閱讀時(shí)間,在文前列寫作思路如下: 什么是 webpack粗井,它要...
    蕭玄辭閱讀 12,691評(píng)論 7 110
  • 前兩部分我們已經(jīng)完成了博客頁面的展示和后臺(tái)頁面的展示: React技術(shù)棧+Express+Mongodb實(shí)現(xiàn)個(gè)人博...
    SamDing閱讀 5,460評(píng)論 1 12
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,463評(píng)論 2 71
  • 最近鍛煉太少尔破,睡眠質(zhì)量下降了一些。不過雖然睡不著浇衬,但是心情很好懒构。 今天跟弟弟聊天,發(fā)現(xiàn)弟弟現(xiàn)在的成長(zhǎng)速度明顯加快了...
    小小蘿卜卜閱讀 505評(píng)論 0 51