react環(huán)境搭建

其實(shí)在今年年初,就初略的寫過一篇關(guān)于react項(xiàng)目創(chuàng)建的詳細(xì)步驟的文章,但那時(shí)候都是在最后實(shí)踐完成之后自己憑借著回憶來寫的,難免會(huì)漏掉很多細(xì)節(jié),以及其過程所遇到的各種問題,今天,出于好奇,準(zhǔn)備再次一探究竟,就react 項(xiàng)目創(chuàng)建的一些步驟以及一些需要的注意的問題做個(gè)系統(tǒng)的介紹,也算是給自己提個(gè)醒。

1、node安裝


首先,需要node環(huán)境支持,如果你還沒有安裝node.js,請(qǐng)移步nodejs官網(wǎng)

nodejs下載

這里,隨便下載哪一個(gè)都可以,小編推薦下載最新版的。下載完成后按照步驟安裝即可。

2、初始化項(xiàng)目。


npm init

之后一路回車即可

到最后,你的項(xiàng)目根目錄會(huì)多一個(gè)package.json的文件。

3、添加項(xiàng)目依賴


接下來,我們打開package.json文件,給項(xiàng)目添加依賴包。當(dāng)然,最簡(jiǎn)單的方法便是直接修改package.json文件,然后通過npm install安裝依賴即可,但是考慮到依賴包的不斷更新迭代,或許今后的不久就已經(jīng)不是當(dāng)前版本,為了能保證,我們每個(gè)看到這邊文章的童鞋都是用的最新依賴包,我們直接通過npm install ?** ?--save-dev方式來安裝我們依賴包。

首先,我們來安裝dependencies:

npm install --save react react-dom lodash

按理來說,上面的命令并沒有任何問題,但是小編卻在這里遇到一個(gè)坑,那就是項(xiàng)目取名為react,然后再安裝react的時(shí)候被拒絕,如下圖所示:

錯(cuò)誤提示

當(dāng)然,解決方法就是重新命名,為了避免不必要的麻煩,還是推薦小伙伴們不要把項(xiàng)目名稱命名成你要安裝的包名,譬如:react,webpack等等。

淚的教訓(xùn):如果你遇到上述的錯(cuò)誤,請(qǐng)刪掉該項(xiàng)目重新新建一個(gè)項(xiàng)目,因?yàn)闊o論如何也還是會(huì)報(bào)這個(gè)錯(cuò)誤,包括重啟也是于事無補(bǔ)。

再次安裝react的時(shí)候,切忌一定要安裝到生產(chǎn)依賴。

npm install --save-dev react

不出意外,應(yīng)該是可以了,接下來我們就可以安裝其他依賴。

npm install babel babel-core babel-loader babel-preset-es2015 babel-preset-react css-loader style-loader react-router webpack webpack-dev-server

npm install react-dom lodash --save

最后提醒一下,webpack和webpack-dev-server這兩個(gè)包需要全局安裝。

npm install -g webpack webpack-dev-server

到這里我們的依賴包就安裝完畢。

以下便是package.json的最終代碼:

{

"name": "react-demo",

"version": "1.0.0",

"description": "",

"main": "index.js",

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1"

},

"author": "",

"license": "ISC",

"devDependencies": {

"babel": "^6.5.2",

"babel-core": "^6.13.2",

"babel-loader": "^6.2.4",

"babel-preset-es2015": "^6.13.2",

"babel-preset-react": "^6.11.1",

"css-loader": "^0.23.1",

"react": "^15.3.0",

"react-hot-loader": "^1.3.0",

"react-router": "^2.6.1",

"style-loader": "^0.13.1",

"webpack": "^1.13.1",

"webpack-dev-server": "^1.14.1"

},

"dependencies": {

"lodash": "^4.15.0",

"react-dom": "^15.3.0"

}

}

4、配置webpack


新建一個(gè)webpack.config.js文件。

var webpack = require("webpack")

var path = require("path")

module.exports = {

devtool: "inline-source-map",

entry: [

"webpack-dev-server/client?http://127.0.0.1:8080/",

"webpack/hot/only-dev-server",

"./app"

],

output: {

path: path.join(__dirname, "public"),

filename: "bundle.js"

},

resolve: {

modulesDirectories: ["node_modules", "app"],

extensions: ["", ".js"]

},

module: {

loaders: [

{

test: /\.jsx?$/,

exclude: /node_modules/,

loaders: ["react-hot", "babel?presets[]=react,presets[]=es2015"]

},

{

test: /\.css?$/,

exclude: /node_modules/,

loaders: ["style", "css"]

}

]

},

plugins: [

new webpack.HotModuleReplacementPlugin(),

new webpack.NoErrorsPlugin()

]

}

以上便是webpack的基本配置,具體的webpack配置以后會(huì)單獨(dú)介紹。

5、項(xiàng)目文件



index.html

<!DOCTYPE html>

<html>

<head>

<title>React demo</title>

</head>

<body>

<div id="app"></div>

<script src="bundle.js"></script>

</body>

</html>

index.js

import React from 'react'

import {render} from 'react-dom'render(

render(<div>hello wold</div>,document.getElementById("app"));

這個(gè)時(shí)候,一個(gè)簡(jiǎn)單的hello word就已經(jīng)完成,運(yùn)行如下命令

webpack-dev-server

使用瀏覽器打開http://127.0.0.1:8080就能看到hello world。這里的webpack-dev-server可以實(shí)時(shí)監(jiān)測(cè)文件修改,已實(shí)時(shí)觀看最終效果。

但是每次要預(yù)覽效果,我們要輸入這么一大串,難免有所不便,

打開package.json文件,找到scripts結(jié)點(diǎn),更改如下所示:

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1",

"dev":"webpack-dev-server"

}

這樣,我們就只需要在命令行中輸入:

npm run dev

當(dāng)然,如果你嫌上面的步驟太過繁瑣,你可以直接下載github上面的代碼,然后直接運(yùn)行:

npm install

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,359評(píng)論 7 35
  • 周末呆了兩天星巴克,通讀了一遍react以及部分npm,webpack的文檔,終于可以給一些像我一樣被前端雜亂的工...
    MMoooooon閱讀 2,214評(píng)論 2 2
  • 開始前確定自己安裝了最新版本的 npm webpack 環(huán)境搭建 初始化文件夾 新建文件夾后進(jìn)入: 這樣就生成了一...
    btbj閱讀 721評(píng)論 1 3
  • 街道上清冷的模樣 靈魂就孤獨(dú)的流浪 隔開了墻 無言的傷 是回不去的舊時(shí)光 回憶中沒什么模樣 有聲音不斷的回蕩 怎么...
    蘭雪之泠閱讀 376評(píng)論 1 3
  • 無數(shù)次發(fā)愿,想要學(xué)寫作。 去年嘗試著寫了幾篇公號(hào),頭幾篇是在本子上早就寫好了的,等于是舊文修改一下就拿來發(fā)的。有限...
    蕭閔閱讀 401評(píng)論 9 13

友情鏈接更多精彩內(nèi)容