後端框架與API 開發(一)

更新於 發佈於 閱讀時間約 8 分鐘

※ Express 專案初始化標準動作:

Node.js 環境建置核對

  1. 安裝node.js, npm(Node.js的套件管理系統):

安裝 Node.js 的方式除了可以直接從 Node.js 的官方網站 https://nodejs.org 下載安裝外,在實務開發上更常使用的是 Node Version Manager (nvm)。

使用 nvm 的好處在於,它讓開發者可以在電腦上同時安裝並切換不同版本的 Node.js。這對於處理多個專案時非常有用,因為不同專案可能需要不同的 Node.js 版本。使用 nvm,你可以方便地切換版本,避免因版本不一致導致的錯誤。而如果不使用 nvm,而是直接從官網下載 Node.js,你將無法輕鬆切換版本,處理不同專案時可能會遇到許多麻煩。nvm 可以減少重複安裝和移除的麻煩,使開發更順利。

  1. 安裝Visual studio code

※ Windows 安裝 nvm

  • nvm 可至 nvm-windows 的 github 下載。點擊「Download Now」後就到了下載頁面。
raw-image
raw-image

在這裡,選擇最新版本的nvm-setup.zip 檔案,下載解壓縮後安裝即可。安裝時,請注意路徑中不能有空白或中文,也就是說,如果安裝在 C:\Users\AC Genie 或 C:\Users\AC精靈 底下,執行時就會出問題。(如果你的電腦名稱中包含空白或中文,預設路徑就會發生問題,請另外新增一個資料夾擺放你所下載的資料)。

安裝完成後,打開終端機。如果原本終端機已經打開了,記得關掉重新開啟。打開後輸入下述指令以確定安裝成功:

nvm version//確認是否安裝nvm
1.1.11

※ 以 nvm 安裝 Node.js

nvm install node //安裝最新的穩定版本的 Node.js

在終端機中輸入 node -v 來檢查看看是不是當前的 Node.js 版本:

node -v //確認是否安裝node.js或版本資訊
v14.16.0

在終端機中輸入 npm -v來檢查看看是不是當前的npm 版本:

npm -v //確認是否安裝npm或版本資訊
6.14.11


※ Windows 安裝程式碼編輯器 (text editor) - Visual Studio Code

raw-image

※ Visual Studio Code – 客製化編輯設定

在這裡我們要開啟設定檔再做四個編輯設定:

  • tab size:按下 TAB 鍵時空兩格。
  • word wrap:程式碼長度超過視窗時,可以自動換行。
  • format on save:按下存檔時,自動校訂程式碼格式。
  • format on paste:貼上程式碼時,自動校訂貼進來的程式碼的格式。

※ Visual Studio Code – 常用安裝相應的套件設定

※ Express 專案步驟筆記清單

  • 在C槽新增空白專案資料夾:
  1. 打開終端機(Terminal),建立一個新資料夾,然後進入這個資料夾中。
 mkdir {資料夾名稱}//建立一個新資料夾
  1. 進入這個資料夾,使用 cd 指令再加上目錄名稱。
cd {資料夾名稱}
  • 安裝 Experss 到專案中:
  1. 設定 package.json。
npm init -y //建立 package.json 檔,用來登記所有的外部套件。
  1. 安裝 Experss:
  • 專案資料夾中多了一個 node_modules 的資料夾,npm 會把所有安裝下來的套件放在這個資料夾中。
  • 資料夾中還多了一支名字與 package.json 相似,名為 package-lock.json 的檔案。這支檔案會詳細記錄每一次我們使用 npm 安裝了什麼。
npm install express // npm i express 都可以
npm install 套件名稱@版本號//下載指定版本@[4.17.1]
  1. 在 Express 專案資料夾中建立一支名為 app.js 的檔案。
raw-image
  1. 設定程式入口為 app.js。

在設定檔裡有一個 main 屬性,這個是指程式的入口檔案,預設叫做 index.js,但我們習慣上會把這支入口檔案命名為 app.js。所以現在手動更改一下:

raw-image
  1. 設定主程式 app.js:
// 載入 express 並建構應用程式伺服器
const express = require('express')
const app = express()

// 設定首頁路由
app.get('/', (req, res) => {
res.send('hello world')
})

// 設定 port 3000
app.listen(3000, () => {
console.log('express app listen on port 3000')
})
  1. 啟動應用程式伺服器:
node app.js
express app listen on port 3000//印出
  1. 用瀏覽器打開網址 localhost:3000/
raw-image
  1. 安裝 nodemon:會自動重啟伺服器,重新整理瀏覽器後,就可以看到修改後的畫面。
npm install -g nodemon //-g表示把 nodemon 這個套件安裝在電腦的全域(global)。
  1. 使用 nodemon來啟動 Express 的專案:
$ nodemon app.js
[nodemon] 3.1.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node app.js`
express app listen on port 3000
  1. 定義開發用腳本:
// 修改 package.json
"scripts": {
"start": "node app.js",
"dev": "nodemon app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
  • 只要用 npm run 加上腳本,就可以執行內容,例如:
  1. npm run start →取代 node app.js
  2. npm run dev → 取代nodemon app.js
$ npm run dev

> express-app@1.0.0 dev C:\Users\user\express-app
> nodemon app.js

[nodemon] 3.1.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node app.js`
express app listen on port 3000
  1. 設定版本控制:
  2. 初始化 Git,把專案登錄到版本控制系統裡。
$ git init
  1. 設定 .gitignore:
# OS X
.DS_Store*
Icon?
._*

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini

# npm
node_modules
*.log
*.gz
  1. 建立第一筆 commit:
git init //專案初始化
git add .
git commit -m "feat: project init"
留言
avatar-img
留言分享你的想法!
avatar-img
奧莉薇走在成為後端工程師之路上
19會員
142內容數
全端網頁開發專業知識分享
2025/04/26
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
2025/04/26
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
2025/04/26
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
Thumbnail
2025/04/26
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
Thumbnail
2025/04/10
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
Thumbnail
2025/04/10
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
Thumbnail
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
Node.js是一個JavaScript運行環境。它使用了一個非阻塞、事件驅動的I/O模型,使其非常適合用於數據密集型的即時應用程序。簡單來說,Node.js允許你使用JavaScript來編寫伺服器端代碼。 nvm 安裝nvm Windows : 點擊 Releases · coreybut
Thumbnail
Node.js是一個JavaScript運行環境。它使用了一個非阻塞、事件驅動的I/O模型,使其非常適合用於數據密集型的即時應用程序。簡單來說,Node.js允許你使用JavaScript來編寫伺服器端代碼。 nvm 安裝nvm Windows : 點擊 Releases · coreybut
Thumbnail
NPM 全稱為 ( Node Package Manager ),直接翻譯就是 "node套件管理器" ,是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,而 Node.js 則是能讓 JavaScript 語法實現在後端伺服器運行的一種環境,可謂是前端開發的好朋友。
Thumbnail
NPM 全稱為 ( Node Package Manager ),直接翻譯就是 "node套件管理器" ,是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,而 Node.js 則是能讓 JavaScript 語法實現在後端伺服器運行的一種環境,可謂是前端開發的好朋友。
Thumbnail
npm(全名 Node Package Manager,node套件管理器)
Thumbnail
npm(全名 Node Package Manager,node套件管理器)
Thumbnail
npm 做為 node 套件版本管理工具,今天來學習如何使用 npm 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 npm version --new-version major 範例 v1.0.0 -> v2.0.0 mi
Thumbnail
npm 做為 node 套件版本管理工具,今天來學習如何使用 npm 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 npm version --new-version major 範例 v1.0.0 -> v2.0.0 mi
Thumbnail
NodeJS作用? NodeJS 作為一個後端程式語言,與伺服器交互,能夠開發服務器應用、開發工具類應用,例如:Webback、Vite 這些好用工具,或是透過NodeJS的electron框架開發桌面端應用,而常見的桌面端應用如 VScode
Thumbnail
NodeJS作用? NodeJS 作為一個後端程式語言,與伺服器交互,能夠開發服務器應用、開發工具類應用,例如:Webback、Vite 這些好用工具,或是透過NodeJS的electron框架開發桌面端應用,而常見的桌面端應用如 VScode
Thumbnail
這篇想來寫,剛碰到js得時候,為了讓程式可以運作而安裝Node.js 。Node.js 是能夠在伺服器上面運行 JavaScript 的應用平台環境,透過 Node.js 提供的函式庫與執行環境能完成伺服器端服務。此篇幅就直接從純後端的角度切入摟(對不起拉我寫來寫去還是不知道怎麼順順的寫好文章開頭Q
Thumbnail
這篇想來寫,剛碰到js得時候,為了讓程式可以運作而安裝Node.js 。Node.js 是能夠在伺服器上面運行 JavaScript 的應用平台環境,透過 Node.js 提供的函式庫與執行環境能完成伺服器端服務。此篇幅就直接從純後端的角度切入摟(對不起拉我寫來寫去還是不知道怎麼順順的寫好文章開頭Q
Thumbnail
npm 是一個套件管理工具,開發中經常需要使用第三方套件,npm 是可以用來管理很多套件的工具,這邊指的套件可能是 Library, 框架, 工具等,例如 Bootstrap, jQuery, Vue.js, babel 都可以統一由它管理。
Thumbnail
npm 是一個套件管理工具,開發中經常需要使用第三方套件,npm 是可以用來管理很多套件的工具,這邊指的套件可能是 Library, 框架, 工具等,例如 Bootstrap, jQuery, Vue.js, babel 都可以統一由它管理。
Thumbnail
安裝Node.js 使用nuxi建立nuxt 3 專案: 3. 進入專案目錄後,安裝相關套件: 4. 啟動nuxt: 跟Nuxt 2用法一樣,新增一個元件放到components資料夾中,可以直接引用: pages用法也一樣,這邊把app.vue改放到pages下,改成index.vue,然後新增一
Thumbnail
安裝Node.js 使用nuxi建立nuxt 3 專案: 3. 進入專案目錄後,安裝相關套件: 4. 啟動nuxt: 跟Nuxt 2用法一樣,新增一個元件放到components資料夾中,可以直接引用: pages用法也一樣,這邊把app.vue改放到pages下,改成index.vue,然後新增一
Thumbnail
前言 Vue 在過去的一兩年內快速發展,寫法也一直改變,我在過去一年多也更改了兩次寫法,在這個系列中我將以最新的 composition api + typescript 寫法進行教學。 javascript 有兩大痛點,一個是異步問題,另一個是弱型別。要渲染畫面一定要多線程同時異步處理,不然真的一
Thumbnail
前言 Vue 在過去的一兩年內快速發展,寫法也一直改變,我在過去一年多也更改了兩次寫法,在這個系列中我將以最新的 composition api + typescript 寫法進行教學。 javascript 有兩大痛點,一個是異步問題,另一個是弱型別。要渲染畫面一定要多線程同時異步處理,不然真的一
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News