Express專案建置流程—靜態檔案(Javascript版)

更新 發佈閱讀 7 分鐘

※ 什麼是靜態檔案:

指的是不需要再經過伺服器額外處理的檔案。常見的有,在網頁中載入的 CSS、JavaScript 或圖片檔,這些檔案通常不需要再經過伺服器額外處理,伺服器只需要提供一個連結,讓瀏覽器直接抓取這些檔案即可

※ 建立一個名為 public 的資料夾:

把所有網頁上需要使用到的 CSS、JavaScript 或者圖檔都放在一個名為 public 的資料夾以方便管理在 public 裡我們要建立分別名為 stylesheets 和 javascripts 的資料夾,裡面將分別放置稍後會在 HTML 中使用到的 CSS 和 JS 檔案。

raw-image

※ 下載 Bootstrap 檔案:

官網:https://getbootstrap.com/docs/5.1/getting-started/download/

raw-image

下載、解壓縮後,你會看到裡面一共有兩個資料夾,分別是 css 和 js:

raw-image

在 CSS 資料夾中,我們只需要使用 bootstrap.css 、 bootstrap.css.map 、bootstrap-grid.css 和 bootstrap-grid.css.map這四支檔案:把它複製下來,並且貼到剛剛在專案中所建立的 stylesheets 資料夾中。

擁有的功能:

  1. 響應式排版
  2. 按鈕樣式(.btn
  3. 表單元件(.form-control
  4. 導覽列(.navbar
  5. 卡片、陰影、邊框、間距等工具類別
raw-image

在解壓縮的 JS 資料夾中,我們只需要使用 bootstrap.js 和 bootstrap.js.map 這兩支檔案:一樣把它複製下來,然後貼到剛剛在專案中所建立的 javascripts 資料夾中。

raw-image

下載 Bootstrap 使用到檔案 -Popper.js:

由於在 Bootstrap v5 中有額外使用 Popper.js 這個套件,因此我們需要一並把他下載下來:你會看到 JavaScript 檔案的內容呈現在瀏覽器上,這時可以透過另存新檔把它下載下來即可(MAC 可使用快捷鍵「command + S」;Windows 可使用快捷鍵 「Ctrl + S」)

網址:點此下載 Popper.js 和 Popper.js.map 

這 popper 是 JavaScript 檔案,所以放到專案內的 JavaScript 資料夾中。

raw-image

建立 commit 節點:

[~/todo-list] $ git add .

[~/todo-list] $ git commit -m "feat: add Bootstrap"

※ 載入靜態檔案:

讓我們在網頁中去載入這些靜態檔案。打開編輯器中的 views/layouts/main.handlebars 這支檔案。載入 stylesheets 的檔案,只需要透過  <link> 這個 HTML 標籤,把載入 Bootstrap CSS 檔案的部分寫在 <head> </head>這個區塊的最後面,像這樣:

範例:

<!-- ./views/layouts/main.handlebars -->
<!DOCTYPE html>
<html lang="en">
<head>
<!-- ... -->

<!-- link css files here -->
<link rel="stylesheet" href="/stylesheets/bootstrap.css">
</head>
<body>
<!-- ... -->
</body>
</html>

※ 載入 JavaScript 檔案:

只需透過  <script> 這個 HTML 標籤即可。在這裏一共需要載入 popper.js, bootstrap.js 這兩支檔案。要特別留意的是,因為在 Bootstrap 中會用到 popper.js,因此載入時需要留意順序, popper.js 一定要放在 Bootstrap 之前:

<!-- ./views/layouts/main.handlebars -->
<!DOCTYPE html>
<html lang="en">
<head>
<!-- ... -->
<!-- link css files here -->
<link rel="stylesheet" href="/stylesheets/bootstrap.css">
</head>
<body>
<!-- ... -->

<!-- include javascript files here -->
<script src="/javascripts/popper.js"></script>
<script src="/javascripts/bootstrap.js"></script>

</body>
</html>

※ 設定 Express 路由以提供靜態檔案:

這句 app.use(express.static('public'))就是在告訴 Express 靜態檔案是放在名為 public 的資料夾中,它不必針對這個資料夾內的檔案做什麼,只要產生對應的路由讓我們可以使用就好。

// app.js

// require packages used in the project
// ...

// setting template engine
// ...

// setting static files
app.use(express.static('public'))

// routes setting
// ...

// start and listen on the Express server
// ...

建立 commit 節點:

[~/todo-list] $ git add .

[~/todo-list] git commit -m "add Bootstrap CSS and JS to public folder"












留言
avatar-img
留言分享你的想法!
avatar-img
奧莉薇走在成為後端工程師之路上
25會員
171內容數
全端網頁開發專業知識分享
2025/10/26
※ 安裝 express-handlebars: npm install express-handlebars ※ 建立第一個頁面: 製作共用 Layout: 先建立整個網站共用的主要佈局 (layout)。把共用 layout 檔案路徑設定為:views/layouts/main.hbs,
Thumbnail
2025/10/26
※ 安裝 express-handlebars: npm install express-handlebars ※ 建立第一個頁面: 製作共用 Layout: 先建立整個網站共用的主要佈局 (layout)。把共用 layout 檔案路徑設定為:views/layouts/main.hbs,
Thumbnail
2025/10/26
※ 應用程式跟資料庫連線: 在開發的過程中,你會有一個終端機視窗負責運行 Node.js,也就是你的 web server。我們眼前的電腦就是「網路伺服器 (web server)」,而我們可以在電腦上打開瀏覽器,就能跟自己撰寫的應用程式進行互動。在資料庫伺服器方面 (database serve
Thumbnail
2025/10/26
※ 應用程式跟資料庫連線: 在開發的過程中,你會有一個終端機視窗負責運行 Node.js,也就是你的 web server。我們眼前的電腦就是「網路伺服器 (web server)」,而我們可以在電腦上打開瀏覽器,就能跟自己撰寫的應用程式進行互動。在資料庫伺服器方面 (database serve
Thumbnail
2025/09/12
※ 首頁重點: index.html: <body> <!-- 主結構 --> <div class="wrapper"> <!-- Start main --> <section class="main"> <!-- Start jumbotron --> <div
Thumbnail
2025/09/12
※ 首頁重點: index.html: <body> <!-- 主結構 --> <div class="wrapper"> <!-- Start main --> <section class="main"> <!-- Start jumbotron --> <div
Thumbnail
看更多
你可能也想看
Thumbnail
想在蝦皮雙11買到最划算?這篇文章將分享作者精選的蝦皮高CP值商品,包含HERAN禾聯冷氣、HITACHI日立冰箱、DJI無線麥克風、FUJIFILM拍立得,並提供蝦皮雙11優惠券領取教學、省錢技巧,以及蝦皮分潤計畫介紹,讓你買得開心、省得多!
Thumbnail
想在蝦皮雙11買到最划算?這篇文章將分享作者精選的蝦皮高CP值商品,包含HERAN禾聯冷氣、HITACHI日立冰箱、DJI無線麥克風、FUJIFILM拍立得,並提供蝦皮雙11優惠券領取教學、省錢技巧,以及蝦皮分潤計畫介紹,讓你買得開心、省得多!
Thumbnail
2025 蝦皮 1111 購物節又來了!分享三大必買原因:全站 $0 起免運、多重優惠疊加、便利取貨。 此外,推薦兩款高 CP 值的即食拉麵(無印良品即食迷你拉麵、維力迷你麵野菜拉麵),並分享如何透過「蝦皮分潤計畫」放大效益,開心購物之餘還能獲得額外收益!
Thumbnail
2025 蝦皮 1111 購物節又來了!分享三大必買原因:全站 $0 起免運、多重優惠疊加、便利取貨。 此外,推薦兩款高 CP 值的即食拉麵(無印良品即食迷你拉麵、維力迷你麵野菜拉麵),並分享如何透過「蝦皮分潤計畫」放大效益,開心購物之餘還能獲得額外收益!
Thumbnail
自由接案好像很自由、容易,卻需要點方向的指引,希望這篇的分享能給予你一些幫助。
Thumbnail
自由接案好像很自由、容易,卻需要點方向的指引,希望這篇的分享能給予你一些幫助。
Thumbnail
JSDoc 全名是 JavaScript Documentation,顧名思義是為 JavaScript 所使用的 API 文件,在程式碼內透過註解的方式撰寫,運行後 JSDoc 會自動掃描註解內容,並生成一份網頁版的文件,對於沒有使用 Typescript 開發的專案,也
Thumbnail
JSDoc 全名是 JavaScript Documentation,顧名思義是為 JavaScript 所使用的 API 文件,在程式碼內透過註解的方式撰寫,運行後 JSDoc 會自動掃描註解內容,並生成一份網頁版的文件,對於沒有使用 Typescript 開發的專案,也
Thumbnail
使用靜態檔案下載 Bootstrap 的原因主要有以下幾點: 客製化:當你下載了 Bootstrap 的靜態檔案,你可以根據自己的需求來修改這些檔案。例如,你可以改變預設的顏色、字型大小、間距等,使其更符合你的網站風格。這是直接使用 CDN 所無法做到的。 效能優化:如果你的網站只使用 Boot
Thumbnail
使用靜態檔案下載 Bootstrap 的原因主要有以下幾點: 客製化:當你下載了 Bootstrap 的靜態檔案,你可以根據自己的需求來修改這些檔案。例如,你可以改變預設的顏色、字型大小、間距等,使其更符合你的網站風格。這是直接使用 CDN 所無法做到的。 效能優化:如果你的網站只使用 Boot
Thumbnail
※ 靜態資源回傳 ※ 什麼是靜態資源: 定義:是指事先準備好的資源,這些資源在伺服器上是靜態的、不會隨著每個請求而改變。 資源通常包括: 靜態 HTML 文件。 CSS。 圖像(Image)。 Video。 字體文件:google fonts。 favicon:網頁名稱旁邊的ico
Thumbnail
※ 靜態資源回傳 ※ 什麼是靜態資源: 定義:是指事先準備好的資源,這些資源在伺服器上是靜態的、不會隨著每個請求而改變。 資源通常包括: 靜態 HTML 文件。 CSS。 圖像(Image)。 Video。 字體文件:google fonts。 favicon:網頁名稱旁邊的ico
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
抓取對象檔案,自動進行壓縮處理,壓縮後產出一個壓縮檔案,如此便可節省硬碟使用空間
Thumbnail
抓取對象檔案,自動進行壓縮處理,壓縮後產出一個壓縮檔案,如此便可節省硬碟使用空間
Thumbnail
靜態網頁和動態網頁在功能、內容和互動性方面有所不同。靜態網頁通常用於展示公司網站、部落格文章或商品頁面等靜態內容,而動態網頁則用於用戶註冊、登錄、購物車等互動功能。
Thumbnail
靜態網頁和動態網頁在功能、內容和互動性方面有所不同。靜態網頁通常用於展示公司網站、部落格文章或商品頁面等靜態內容,而動態網頁則用於用戶註冊、登錄、購物車等互動功能。
Thumbnail
這是一個簡單的工作流,可以對輸入的圖片進行3D重建
Thumbnail
這是一個簡單的工作流,可以對輸入的圖片進行3D重建
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News