摘要:中文官網快速入門安裝項目中引入得到服務器實例綁定服務器接受請求事件,并且添加處理回調函數綁定服務端口,啟動服務器運行項目利用框架可以減少我們的代碼量,比起之前使用核心模塊構建服務器代碼排版更直觀。
Express框架是一款簡潔而靈活的node.js web應用框架。前面我們自己手動創建服務器在Express中就是一個API的事情,這就使得我們更加注重業務的功能和開發效率上,不必糾結過多底層的事情。
快速入門</>復制代碼
Express中文官網:Express
安裝:npm install express --save
項目中引入:
</>復制代碼
const express = require("express")
// 得到server(服務器)實例
const app = express()
// 綁定服務器接受請求事件,并且添加處理回調函數
app.get("/", (req, res) => res.send("Hello World!"))
// 綁定服務端口,啟動服務器
app.listen(3000, () => console.log("Example app listening on port 3000!"))
運行項目: node app.js
利用express框架可以減少我們的代碼量,比起之前使用node核心模塊http構建服務器代碼排版更直觀。express底層使用的就是http核心模塊的API。如果要處理客戶端不同請求路徑,我們可以往下羅列多個app.get()方法,無需再使用if...else...來判斷。express也不用我們設置響應頭的Content-Type和中文編碼格式,會底層自動識別添加,可以看下面代碼:
</>復制代碼
const express = require("express")
const app = express()
app.get("/", (req, res) => {
res.send("您好,中國")
})
app.get("/login", (req, res) => {
res.send("登錄
")
})
app.get("/register", (req, res) => {
res.send("注冊
")
})
app.listen("3000", () => {
console.log("running...")
})
express中的靜態服務 前言
在web網站后端開發的過程中,我們往往需要把一些靜態文件夾暴露出去,用戶可以根據url地址去訪問到其中的內容,這些靜態文件往往也稱之為公共資源,利用express框架可以方便地托管靜態文件。
</>復制代碼
本章節對應的API地址:Express 托管靜態文件
在項目中新建一個公共文件夾(公共資源):public
使用express的靜態文件服務暴露公共資源
方法一:(常用)
app.use("/public/", express.static("./public"))
第一個參數指定用戶必須以/public/開頭的url地址才能訪問到靜態文件夾下的具體對應文件資源。express.static()里面傳一個相對路徑,指定要暴露的文件。
</>復制代碼
let express = require("express")
let app = express()
app.use("/public/", express.static("./public"))
app.listen(3000, ()=> {
console.log("running...")
})
方法二:
app.use(express.static("./public"))
app.use()方法省略第一個參數,用戶無需以/public/開頭,可以直接以暴露文件夾下對應文件地址訪問對應資源,看例子
</>復制代碼
let express = require("express")
let app = express()
app.use(express.static("./public"))
app.listen(3000, ()=> {
console.log("running...")
})
方法三:
app.use("/static/", express.static("./public"))
第一個參數為我們自己指定的任意文件名,用戶訪問公共資源,需要以我們指定的文件名開頭的url地址,看例子
</>復制代碼
let express = require("express")
let app = express()
app.use("/static/", express.static("./public"))
app.listen(3000, ()=> {
console.log("running...")
})
express結合art-template模板引擎 前言
前面的學習我們已經知道如何在Node.js中使用art-template模板引擎,同樣在express中也可以使用art-template。
安裝相應的第三方包
</>復制代碼
npm install --save art-template
npm install --save express-art-template
注意:這里的express-art-template依賴了art-template模塊,所以必須連同art-template模板一起安裝下來。
項目中引入express,配置express-art-template模板引擎
</>復制代碼
let express = require("express")
// 得到服務器實例對象
let app = express()
// 配置express-art-template模板引擎,配置之后會在服務器請求事件的回調處理函數response對象中有一個render方法,用于渲染模板字符串返回渲染后的結果。
app.engine("art", require("express-art-template"))
// 為服務器綁定get請求事件,添加相應處理回調函數
app.get("/", (req, res) => {
res.render("login.art", {
title: "這里是登陸頁"
})
})
// 綁定服務器監聽端口號,啟動服務器
app.listen(3000, () => {
console.log("running...")
})
這里的app.engine("art", require("express-art-template"))為必須項,是配置模板引擎的關鍵所在,項目中雖然沒有引入art-template模塊,但是由于依賴關系,所以也必須一同下載安裝。app.engine的第一個參數為解析模板字符文件的后綴名,art表示模板文件必須以.art為擴展名,可以修改為常見的.html格式。res.render()第一個參數為要解析的模板字符串文件,文件的擴展名與前面的app.engine()第一個參數一致,模板文件會默認去當前同級目錄的views文件夾下查找,所以無需寫文件路徑,也不能寫文件路徑,因此,我們經常把一些與頁面視圖相關的文件都放在views文件夾下,這也是一種好的編程習慣。第二個參數為模板配置對象。如果需要修改res.render()默認查找模版文件的位置,比如我希望它去別的文件夾下找,不是views文件夾,可以使用下面配置語句:
</>復制代碼
app.set("views", "替換的文件路徑") // 第一個參數必須為:views
啟動服務后看到結果
后語
本博文出至于我的GitHub上Node學習教程資料,如果需要demo源碼的小伙伴可以去GitHub上clone,歡迎小伙伴們star,你們的點贊是我持續更新的動力。
pubdreamcc原創,歡迎轉載!
</>復制代碼
倉庫地址:Node學習圖文教程
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/7407.html
摘要:安裝相應第三方依賴創建靜態資源文件夾我們在文件夾中創建一個名為文件夾,用來存放靜態文件,也就是公開的資源文件。寫在前面 小伙伴們大家好,我是你們的pubdreamcc,接著前面的學習,這篇博文出至于我的GitHub倉庫:Node學習教程資料,如果你覺得對你有幫助,歡迎star,你們的點贊是我持續更新的動力,謝謝! Node.js學習教程資料:GitHub 前言 我們在之前的node.js...
摘要:今天看到了微信官方推出的一個瀏覽器插件,用來調試微信后臺和頁面的,挺好的。這個是根據別人的文章總結的,時間戳隨機數生成簽名將三者進行加密與簽名進行對比之后每次都會進行身份校驗。然而后面還有更深的坑。 原文摸索中遇到的一些坑,雖然很簡單,但新手還是會被坑到,就稍微記錄一下吧,也當學習手冊,最好去了解一下express,不是很難,這邊只是簡單的配置,更高級的接口還是去看文檔,模塊或者自己實...
摘要:的網站仍然使用有漏洞庫上周發布了開源社區安全現狀報告,發現隨著開源社區的日漸活躍,開源代碼中包含的安全漏洞以及影響的范圍也在不斷擴大。與應用安全是流行的服務端框架,本文即是介紹如何使用以及其他的框架來增強應用的安全性。 showImg(https://segmentfault.com/img/remote/1460000012181337?w=1240&h=826); 前端每周清單專注...
摘要:又將整個文藝類閱讀系統的業務劃分為兩大部分,分別是面向管理員和合作作者的后臺管理系統和面向用戶的移動端,系統的需求分析將圍繞這兩部分進行展開。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...
摘要:又將整個文藝類閱讀系統的業務劃分為兩大部分,分別是面向管理員和合作作者的后臺管理系統和面向用戶的移動端,系統的需求分析將圍繞這兩部分進行展開。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...
閱讀 3157·2021-11-24 10:24
閱讀 2968·2021-11-11 16:54
閱讀 3089·2021-09-22 15:55
閱讀 2040·2019-08-30 15:44
閱讀 1910·2019-08-29 18:41
閱讀 2773·2019-08-29 13:43
閱讀 3064·2019-08-29 12:51
閱讀 1202·2019-08-26 12:19