React 基本概念1-1(搭配webpack)
前一章我們使用codepen與babel的cdn來幫我們compile我們寫的ES6與React的JSX語法,但我們開發時通常會使用webpack結合babel與一些plugin來幫我們做compile
建立環境
npm install webpack -g
npm install nodemon -g (在更改程式時自動執行server,與forever類似,但forever遇到錯誤也不會停止)
1.裡面放入package.json
{
"name": "react-learning",
"version": "1.0.0",
"description": "A simple app",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"serve": "nodemon server/server.js --ignore ./components"
},
"repository": {
"type": "git",
"url": ""
},
"author": "",
"license": "ISC",
"dependencies": {
"babel-core": "*",
"babel-loader": "*",
"babel-preset-es2015": "*",
"babel-preset-react": "*",
"express": "*",
"react": "*",
"react-dom": "*",
"webpack": "*"
}
}之後輸入npm install
在根目錄下新建三個目錄
2.接著在server目錄下新增server.js
3.在client資料夾內加入index.html
4.新增webpack 配置文件webpack.config.js
什麼是source map

5.在client資料夾中新增client.js
<App/>即為我們的react元件
6.在components資料夾中新增App.js
此即為我們第一個react元件
之後輸入webpack --config webpack.config.js 會自動產生dist資料夾,裡面包含bundle.js檔案,此為webpack打包後的東西
之後於terminal輸入,npm run serve(寫在package.json中的scripts內)
執行伺服器,並打開瀏覽器輸入開啟localhost:3000
下載React devtool
https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi
之後chrome devtool的tab會多一個React
讓我們不用重新整理網頁
在package.json內加入
1.不用重新整理網頁 (讓我們不用使用webpack-dev-server也有-hot的指令)
2.讓hot middleware知道react的class
以及讓webpack跑在我們架設的express server上
使用指令
來安裝以上三個package
接著更改剛才server資料夾下的 server.js
現在我們可以直接用server.js去compile 我們的webpack config檔案,不用再輸入指令compile
最後因為我們剛才有用hot middle所以我們可以使用--hot去讓他自動reload網頁,但我們不想在指令輸入,所以可以把他加在webpack config內
webpack.config.js
現在執行 npm run serve
再去更改app.js內的字,可以看到不用重新啟動伺服器,也不用按網頁的重新整理,即可更新
Last updated
Was this helpful?