(一)首先在file資料夾中建立txt資料夾。在txt資料夾內建立test.txt檔案,並在檔案內容放假資料。
//打造web server應用程式
const express = require("express") //載入express套件
const app = express() //建立application實例
const path = require("path") //取得絕對路徑;path是內建模組,專門處理文件和目錄的路徑。
//設定根路由
app.get("/", (req, res) => {
res.send("hello, world")
})
//第一種回傳file.txt;取得靜態資源,利用res.sendFile
app.get("/txt", (req, res) => {
//確保程式在不同的作業系統上取得專案資料夾的絕對路徑
const absPath = path.join(__dirname, "/file/test.txt")
//載入檔案發生錯誤時的處理方式
res.sendFile(absPath, (err) => {
console.log(err)
})
}
)
//設立錯誤訊息
// 通配符路由,捕捉所有其他未定義的 GET 請求
app.get("/*", (req, res) => {
res.send("Not found")
})
//監聽port
app.listen(3000, () => {
console.log('express app listen on port 3000')
})
(二)首先建立public資料夾。在public資料夾內建立text資料夾內建立test.txt檔案,並在檔案內容放假資料。
//打造web server應用程式
const express = require("express") //載入express套件
const app = express() //建立application實例
// 第二種回傳file.txt;當他的請求路徑是static時才提供public folder
app.use("/static", express.static("public"))//告訴 Express 靜態檔案的資料夾位置
//設定根路由
app.get("/", (req, res) => {
res.send("hello, world")
})
//設立錯誤訊息
// 通配符路由,捕捉所有其他未定義的 GET 請求
app.get("/*", (req, res) => {
res.send("Not found")
})
//監聽port
app.listen(3000, () => {
console.log('express app listen on port 3000')
})
(一)在file資料夾中建立html資料夾。在html資料夾內建立test.html檔案,並使用Vs Code快速鍵建立html資料。
//打造web server應用程式
const express = require("express") //載入express套件
const app = express() //建立application實例
const path = require("path") //取得絕對路徑
//設定根路由
app.get("/", (req, res) => {
res.send("hello, world")
})
//回傳html
app.get('/getHtml', (req, res) => {
//取得專案資料夾的絕對路徑
const absPath = path.join(__dirname, "/file/html/test.html")
//載入檔案發生錯誤時的處理方式
//先定義一個絕對路徑,取得事先準備好的資源
res.sendFile(absPath, (err) => {
console.log(err)
})
})
//設立錯誤訊息
// 通配符路由,捕捉所有其他未定義的 GET 請求
app.get("/*", (req, res) => {
res.send("Not found")
})
//監聽port
app.listen(3000, () => {
console.log('express app listen on port 3000')
})
(二)在public資料夾內建立html資料夾。在html資料夾內建立test.html檔案,並使用Vs Code快速鍵(html)建立html資料。
//打造web server應用程式
const express = require("express") //載入express套件
const app = express() //建立application實例
// 第二種回傳file.txt;當他的請求路徑是static時才提供public folder
app.use("/static", express.static("public"))//一樣無須修改
//設定根路由
app.get("/", (req, res) => {
res.send("hello, world")
})
//設立錯誤訊息
// 通配符路由,捕捉所有其他未定義的 GET 請求
app.get("/*", (req, res) => {
res.send("Not found")
})
//監聽port
app.listen(3000, () => {
console.log('express app listen on port 3000')
})
(一)在file資料夾中建立image資料夾。在image資料夾內建立image檔案。
//打造web server應用程式
const express = require("express") //載入express套件
const app = express() //建立application實例
const path = require("path") //取得絕對路徑
//設定根路由
app.get("/", (req, res) => {
res.send("hello, world")
})
//提供image
app.get('/getImage', (req, res) => {
//取得專案資料夾的絕對路徑
const absPath = path.join(__dirname, "/file/image/angels-1.jpg")
//載入檔案發生錯誤時的處理方式
//先定義一個絕對路徑,取得事先準備好的資源
res.sendFile(absPath, (err) => {
console.log(err)
})
})
//設立錯誤訊息
// 通配符路由,捕捉所有其他未定義的 GET 請求
app.get("/*", (req, res) => {
res.send("Not found")
})
//監聽port
app.listen(3000, () => {
console.log('express app listen on port 3000')
})
(二)在public資料夾內建立image資料夾。在image資料夾內建立image檔案。
//打造web server應用程式
const express = require("express") //載入express套件
const app = express() //建立application實例
// 第二種回傳file.txt;當他的請求路徑是static時才提供public folder
app.use("/static", express.static("public"))//一樣無須修改
//設定根路由
app.get("/", (req, res) => {
res.send("hello, world")
})
//設立錯誤訊息
// 通配符路由,捕捉所有其他未定義的 GET 請求
app.get("/*", (req, res) => {
res.send("Not found")
})
//監聽port
app.listen(3000, () => {
console.log('express app listen on port 3000')
})
res.send() 和 res.sendFile() 都是靜態資源回傳的方法,但它們的用途有所不同:
res.send()
。這些資訊可以是文字、數字、陣列或者物件。如果回傳的是物件或陣列,res.send()
會自動把它們轉換成 JSON 格式,讓瀏覽器可以輕鬆讀取。res.sendFile()
;並且提供要發送文件的絕對路徑。然後,res.sendFile()
會自動處理許多細節,包括告訴瀏覽器文件的類型(如 HTML、圖片等),並將文件的內容送到瀏覽器。