全端網站設計範例:前端專案建立
本篇為「全端網站架構」中的前端範例及細節。
所需工具及準備
建立 React 專案
我們將安裝 React 搭配 TypeScript,並且手動安裝套件(沒有使用如 create-react-app 這類的 toolchains)。這裡的建立過程大多參考一篇 Medium 的文章(參考資料 1)。
並且搭配 Babel, Webpack, Prettier, ESLint。
首先,初始化
1 | $ mkdir client && cd client # 在根目錄建立 client 資料夾 |
再來建立網頁進入點,剛剛透過指令建立的 src/public/index.html
就是將要丟給瀏覽器的目錄文件,程式碼如下
1 |
|
比較需要注意的是 body 下的 div,id 必須為 "root"
,也就是接下來用 ReactDOM 去渲染時為了取得此 dom 所需要的 id。
然後,建立程式進入點。接下來便要實際把 React 的程式碼加上,編輯 src/index.tsx
1 | import React from 'react'; |
設定 TypeScript
1 | $ touch tsconfig.json # 新增 TypeScript 設定檔 |
編輯此設定檔
1 | { |
設定 Sass,讓 Styling 更簡潔
安裝 Sass,
1 | $ yarn add -D sass sass-loader |
這裡我們採用 .scss 的格式來撰寫 style,新增 scss 檔案
1 | $ touch src/index.scss |
編輯其內容
1 | div { |
設定 Babel,編譯程式碼
安裝 Babel
1 | $ yarn add -D \ |
其中 @babel/core @babel/cli @babel/preset-env
是 Babel 基本必需,而 @babel/runtime @babel/plugin-transform-runtime
則是使用 async-await 會需要加上的。
再來是設定 Babel,透過 .babelrc.json
這支設定檔
1 | $ touch .babelrc.json |
編輯其內容
1 | { |
設定 Webpack,打包程式碼
安裝 Webpack
1 | $ yarn add -D \ |
再來是設定 Webpack,新增 webpack.config.js
這支檔案,作為 Webpack 的進入點
1 | $ touch webpack.config.js |
編輯其內容
1 | const path = require('path'); |
設定 Prettier,美化程式碼
安裝 Prettier
1 | $ yarn add -D prettier eslint-config-prettier eslint-plugin-prettier |
其中 eslint 開頭的套件是為了讓接下來要安裝的 eslint 能和 prettier 一起使用(不會因為 prettier 的設定而使得 linter conflict)。
再來,新增 prettier 的設定檔。
1 | $ touch .prettierrc.json |
編輯其內容
1 | { |
設定 ESLint,檢查程式碼
安裝 ESLint
1 | $ yarn add -D \ |
再來新增 ESLint 的設定檔
1 | $ touch .eslintrc.json |
編輯其內容
1 | { |
新增要執行的 Scripts
回到 package.json
設定檔,新增 scripts
,加上執行專案的指令
1 | { |
.gitignore
將一般需要忽略的檔案寫入 .gitignore
中
1 | # dependencies |
執行專案
1 | $ yarn start # 啟動 dev server,並在 http://localhost:3000 看到成果 |
參考資料
修訂記錄
2022-03-20 - 新增 SCSS 相關設定