iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

https://ithelp.ithome.com.tw/upload/images/20230918/201415518ssDCxunud.jpg

前言

前面提到 Astro 是如何建構頁面的,像是將網頁拆分成「元件」以及透過 Astro Island 的方式來建構網頁,接著本章節就要來實際創建一個 Astro 專案囉!

建構專案

前置準備

Astro 提供了自動建構專案的 CLI 工具,在建構專案之前會需要以下環境:

  • Node.js - 18.14.1 或更高(可考慮使用 nvm 切換不同版本)
  • 文字編輯器 - VS Code 搭配官方插件最佳(或是你偏好其他文字編輯器也可參考官方文件的說明)
  • 終端

透過自動建構工具創建 Astro

npm create astro@latest
# 安裝以下套件 create-astro@4.0.1? 輸入 y 繼續
Need to install the following packages:
  create-astro@4.0.1
Ok to proceed? (y) y

# 要在哪裡創建您的新專案?
   dir   Where should we create your new project?
         ./專案名稱

# 要使用專案模板嗎? 1. 使用專案模板(推薦) 2. 使用部落格模板 3. 不使用
   tmpl   How would you like to start your new project?
         > Include sample files (recommended)
         — Use blog template
         — Empty

# 要安裝依賴套件嗎(推薦)?
   deps   Install dependencies? (recommended)
         ● Yes  ○ No

# 要使用 TypeScript 嗎?
   ts   Do you plan to write TypeScript?
         ● Yes  ○ No

# TypeScript 設定上應該多嚴格? 1. 嚴格(推薦) 2. 最嚴格 3. 鬆散
   use   How strict should TypeScript be?
         > Strict (recommended)
         — Strictest
         — Relaxed

# 初始化 Git Repo 嗎?
git   Initialize a new git repository? (optional)
         ● Yes  ○ No

這樣一個完整的 Astro 便完成了,整體專案會是這樣的架構:

專案
├── .git # Git 相關檔案
├── .vscode # vscode 相關檔案
├── node_modules # NPM 依賴套件
├── public # 任何不希望經由 Astro 處理的檔案
│   └── favicon.svg
├── src # 專案的代碼
│   ├── pages
│   │   └── index.astro
│   └── env.d.ts
├── .gitignore
├── astro.config.mjs # Astro 的設定文件
├── package.json # NPM 相關紀錄
├── README.md # 專案描述文件
└── tsconfig.json # TypeScript 設定文件

public/ 資料夾

用於存放非原始碼不想被 Astro 處理的檔案,內容會被原封不動的放置到渲染出來的資料夾中。

src/ 資料夾

用於存放與專案原始碼有關的文件,可以在這裡透過資料夾來分類專案原始碼。資料夾名稱可以自由命名,常見的 src 資料夾結構會像是這樣子:

src/
├── components # 元件
├── content # 存放與 Content Collections 相關的文件
├── layouts # 布局用元件
├── pages # 頁面用元件
└── styles # 專案樣式

除了 src/pages/src/content/ 之外資料夾名稱都可以隨自己偏好命名,並且只有 pages 資料夾是必要存在的,因為該資料夾內的文件會被用於創建頁面,稍後章節會介紹它們個別的用途,目前大致知道專案結構即可。

啟動 Astro

常見會用到三個指令:開啟開發伺服器、渲染網頁、預覽已渲染網頁。網頁渲染出來預設會被存放到一個 dist 資料夾中。

# 開啟開發伺服器
npm run dev

# 渲染網頁
npm run build

# 預覽已渲染網頁
npm run preview

總結

建構 Astro 專案非常簡單,透過 CLI 工具很快就能設定好一個可運作的專案。如果你熟悉 Vite 的話這樣的架構或許對你來說非常的熟悉,因為 Astro 底層實際上就是使用 Vite 來製作的!

延伸閱讀


上一篇
Day2 - 現有問題與解方
下一篇
Day4 - 基礎指令與設定
系列文
網頁開發沒有這麼簡單過!實際案例帶你上手 Astro.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言