【React】從無到有,用 webpack5 展開的 5 分鐘 React 之旅
因為本機跑 CRA 執行太過龜速,
結果一腳踏入了webpack坑,
發現這坑實在太深了,
只能一步步筆記下來,
不然改天就忘了自己到底做過什麼…
目錄
前置說明
準備 webpack 環境
初始化 npm 專案
安裝 webpack 相關套件
新增 config 檔
建立 React 專案
執行專案
參考資料
前置說明
文章內容包含
- 如何用 webpack5 架構出 react 開發環境
不包含
- 如何使用 React
- React 相關語法說明
環境
- Visual Stusio Code v1.51.1
- Node.js v12.16.2
- npm v6.14.4
(本文建議同時搭配《webpack 筆記》服用)
準備 webpack 環境
初始化 npm 專案
用 Visual Stusio Code 開啟一個空的新專案資料夾,
terminal 執行 npm init
產出 package.json 檔案
使用
npm init -y
可以跳過設定,直接使用預設值
安裝 webpack 相關套件
- webpack 相關
- webpack
- webpack-cli
- webpack-dev-server
- babel 相關
- babel-loader
- @babel/core
- @babel/preset-react
- @babel/preset-env
- 編譯輔助套件
- html-webpack-plugin
- clean-webpack-plugin
安裝的參數皆相同,以下為全部一次安裝的指令:
1 | npm install webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-react @babel/preset-env html-webpack-plugin clean-webpack-plugin --save-dev |
新增 config 檔
在根目錄新增 webpack.config.js 檔案,內容如下:
1 | const path = require('path'); |
看這落落長一大串,
完全能夠理解 CRA 誕生的原因了呢…
因為內容太多也太雜,
各項設定具體說明請參考【JS】Webpack 筆記
這裡就不花版面一一解釋。
到這裡為止環境備妥,可以使用 react 了!
建立 React 專案
安裝 React
1 | npm install react react-dom |
程式規模不大的話,可以改成在下一步驟新增的 index.html 中引入 CDN,這部分請見 React 官網 使用說明
新增基本網頁
依照 webpack.config.js 裡面的設定,
在根目錄底下新增 src
資料夾,
放入 index.html
和 App.jsx
兩個檔案
【index.html】
1 | <!DOCTYPE html> |
【App.jsx】
1 | import React from 'react'; |
環境準備完畢,資料夾結構如下:
node_modules
|
src ──┐
| App.jsx
| index.html
package-lock.json
|
package.json
|
webpack.config.js
執行專案
加入指令
package.json
檔案中加入指令
1 | "scripts": { |
webpack5 不支援舊版的
webpack-dev-server
這個指令了,執行 webpack-dev-server 的 command 要改為webpack serve
。
運行網頁
terminal 執行 npm run dev
運行網站
5 分鐘用 webpack 建立 React 網站完成!
參考資料
webpack教程:如何從頭開始設置 webpack 5(主要參考文章)
[ReactJS] 使用Webpack, npm建置React開發環境
逐步建置React + Webpack開發環境