国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Node圖文教程(第四章:express)

韓冰 / 1920人閱讀

摘要:中文官網(wǎng)快速入門安裝項(xiàng)目中引入得到服務(wù)器實(shí)例綁定服務(wù)器接受請(qǐng)求事件,并且添加處理回調(diào)函數(shù)綁定服務(wù)端口,啟動(dòng)服務(wù)器運(yùn)行項(xiàng)目利用框架可以減少我們的代碼量,比起之前使用核心模塊構(gòu)建服務(wù)器代碼排版更直觀。

Express框架是一款簡(jiǎn)潔而靈活的node.js web應(yīng)用框架。前面我們自己手動(dòng)創(chuàng)建服務(wù)器在Express中就是一個(gè)API的事情,這就使得我們更加注重業(yè)務(wù)的功能和開發(fā)效率上,不必糾結(jié)過多底層的事情。

Express中文官網(wǎng):Express

快速入門

    安裝:npm install express --save

    項(xiàng)目中引入:

const express = require("express")

// 得到server(服務(wù)器)實(shí)例

const app = express()

// 綁定服務(wù)器接受請(qǐng)求事件,并且添加處理回調(diào)函數(shù)

app.get("/", (req, res) => res.send("Hello World!"))

// 綁定服務(wù)端口,啟動(dòng)服務(wù)器

app.listen(3000, () => console.log("Example app listening on port 3000!"))

    運(yùn)行項(xiàng)目: node app.js

利用express框架可以減少我們的代碼量,比起之前使用node核心模塊http構(gòu)建服務(wù)器代碼排版更直觀。express底層使用的就是http核心模塊的API。如果要處理客戶端不同請(qǐng)求路徑,我們可以往下羅列多個(gè)app.get()方法,無需再使用if...else...來判斷。express也不用我們?cè)O(shè)置響應(yīng)頭的Content-Type和中文編碼格式,會(huì)底層自動(dòng)識(shí)別添加,可以看下面代碼:

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("

注冊(cè)

"
) }) app.listen("3000", () => { console.log("running...") })

express中的靜態(tài)服務(wù) 前言

在web網(wǎng)站后端開發(fā)的過程中,我們往往需要把一些靜態(tài)文件夾暴露出去,用戶可以根據(jù)url地址去訪問到其中的內(nèi)容,這些靜態(tài)文件往往也稱之為公共資源,利用express框架可以方便地托管靜態(tài)文件。

本章節(jié)對(duì)應(yīng)的API地址:Express 托管靜態(tài)文件

    在項(xiàng)目中新建一個(gè)公共文件夾(公共資源):public

    使用express的靜態(tài)文件服務(wù)暴露公共資源

方法一:(常用)

app.use("/public/", express.static("./public"))

第一個(gè)參數(shù)指定用戶必須以/public/開頭的url地址才能訪問到靜態(tài)文件夾下的具體對(duì)應(yīng)文件資源。express.static()里面?zhèn)饕粋€(gè)相對(duì)路徑,指定要暴露的文件。

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()方法省略第一個(gè)參數(shù),用戶無需以/public/開頭,可以直接以暴露文件夾下對(duì)應(yīng)文件地址訪問對(duì)應(yīng)資源,看例子

let express = require("express")
let app = express()
app.use(express.static("./public"))
app.listen(3000, ()=> {
  console.log("running...")
})

方法三:

app.use("/static/", express.static("./public"))

第一個(gè)參數(shù)為我們自己指定的任意文件名,用戶訪問公共資源,需要以我們指定的文件名開頭的url地址,看例子

let express = require("express")
let app = express()
app.use("/static/", express.static("./public"))
app.listen(3000, ()=> {
  console.log("running...")
})

express結(jié)合art-template模板引擎 前言

前面的學(xué)習(xí)我們已經(jīng)知道如何在Node.js中使用art-template模板引擎,同樣在express中也可以使用art-template

    安裝相應(yīng)的第三方包

npm install --save art-template
npm install --save express-art-template

注意:這里的express-art-template依賴了art-template模塊,所以必須連同art-template模板一起安裝下來。

    項(xiàng)目中引入express,配置express-art-template模板引擎

let express = require("express")
// 得到服務(wù)器實(shí)例對(duì)象
let app = express()

// 配置express-art-template模板引擎,配置之后會(huì)在服務(wù)器請(qǐng)求事件的回調(diào)處理函數(shù)response對(duì)象中有一個(gè)render方法,用于渲染模板字符串返回渲染后的結(jié)果。

app.engine("art", require("express-art-template"))

// 為服務(wù)器綁定get請(qǐng)求事件,添加相應(yīng)處理回調(diào)函數(shù)

app.get("/", (req, res) => {
  res.render("login.art", {
    title: "這里是登陸頁"
  })
})
// 綁定服務(wù)器監(jiān)聽端口號(hào),啟動(dòng)服務(wù)器
app.listen(3000, () => {
  console.log("running...")
})

這里的app.engine("art", require("express-art-template"))為必須項(xiàng),是配置模板引擎的關(guān)鍵所在,項(xiàng)目中雖然沒有引入art-template模塊,但是由于依賴關(guān)系,所以也必須一同下載安裝。app.engine的第一個(gè)參數(shù)為解析模板字符文件的后綴名,art表示模板文件必須以.art為擴(kuò)展名,可以修改為常見的.html格式。res.render()第一個(gè)參數(shù)為要解析的模板字符串文件,文件的擴(kuò)展名與前面的app.engine()第一個(gè)參數(shù)一致,模板文件會(huì)默認(rèn)去當(dāng)前同級(jí)目錄的views文件夾下查找,所以無需寫文件路徑,也不能寫文件路徑,因此,我們經(jīng)常把一些與頁面視圖相關(guān)的文件都放在views文件夾下,這也是一種好的編程習(xí)慣。第二個(gè)參數(shù)為模板配置對(duì)象。如果需要修改res.render()默認(rèn)查找模版文件的位置,比如我希望它去別的文件夾下找,不是views文件夾,可以使用下面配置語句:

app.set("views", "替換的文件路徑") // 第一個(gè)參數(shù)必須為:views

    啟動(dòng)服務(wù)后看到結(jié)果

后語

本博文出至于我的GitHub上Node學(xué)習(xí)教程資料,如果需要demo源碼的小伙伴可以去GitHub上clone,歡迎小伙伴們star,你們的點(diǎn)贊是我持續(xù)更新的動(dòng)力。

pubdreamcc原創(chuàng),歡迎轉(zhuǎn)載!

倉庫地址:Node學(xué)習(xí)圖文教程

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/7407.html

相關(guān)文章

  • Node圖文教程express重寫留言本案例

    摘要:安裝相應(yīng)第三方依賴創(chuàng)建靜態(tài)資源文件夾我們?cè)谖募A中創(chuàng)建一個(gè)名為文件夾,用來存放靜態(tài)文件,也就是公開的資源文件。寫在前面 小伙伴們大家好,我是你們的pubdreamcc,接著前面的學(xué)習(xí),這篇博文出至于我的GitHub倉庫:Node學(xué)習(xí)教程資料,如果你覺得對(duì)你有幫助,歡迎star,你們的點(diǎn)贊是我持續(xù)更新的動(dòng)力,謝謝! Node.js學(xué)習(xí)教程資料:GitHub 前言 我們?cè)谥暗膎ode.js...

    Freelander 評(píng)論0 收藏0
  • node微信后臺(tái)開發(fā)初探

    摘要:今天看到了微信官方推出的一個(gè)瀏覽器插件,用來調(diào)試微信后臺(tái)和頁面的,挺好的。這個(gè)是根據(jù)別人的文章總結(jié)的,時(shí)間戳隨機(jī)數(shù)生成簽名將三者進(jìn)行加密與簽名進(jìn)行對(duì)比之后每次都會(huì)進(jìn)行身份校驗(yàn)。然而后面還有更深的坑。 原文摸索中遇到的一些坑,雖然很簡(jiǎn)單,但新手還是會(huì)被坑到,就稍微記錄一下吧,也當(dāng)學(xué)習(xí)手冊(cè),最好去了解一下express,不是很難,這邊只是簡(jiǎn)單的配置,更高級(jí)的接口還是去看文檔,模塊或者自己實(shí)...

    mingzhong 評(píng)論0 收藏0
  • 前端每周清單第 41 期 : Node 與 Rust、OpenCV 的火花,網(wǎng)絡(luò)安全二三事

    摘要:的網(wǎng)站仍然使用有漏洞庫上周發(fā)布了開源社區(qū)安全現(xiàn)狀報(bào)告,發(fā)現(xiàn)隨著開源社區(qū)的日漸活躍,開源代碼中包含的安全漏洞以及影響的范圍也在不斷擴(kuò)大。與應(yīng)用安全是流行的服務(wù)端框架,本文即是介紹如何使用以及其他的框架來增強(qiáng)應(yīng)用的安全性。 showImg(https://segmentfault.com/img/remote/1460000012181337?w=1240&h=826); 前端每周清單專注...

    syoya 評(píng)論0 收藏0
  • 聊聊畢業(yè)設(shè)計(jì)系列 --- 項(xiàng)目介紹

    摘要:又將整個(gè)文藝類閱讀系統(tǒng)的業(yè)務(wù)劃分為兩大部分,分別是面向管理員和合作作者的后臺(tái)管理系統(tǒng)和面向用戶的移動(dòng)端,系統(tǒng)的需求分析將圍繞這兩部分進(jìn)行展開。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...

    Pink 評(píng)論0 收藏0
  • 聊聊畢業(yè)設(shè)計(jì)系列 --- 項(xiàng)目介紹

    摘要:又將整個(gè)文藝類閱讀系統(tǒng)的業(yè)務(wù)劃分為兩大部分,分別是面向管理員和合作作者的后臺(tái)管理系統(tǒng)和面向用戶的移動(dòng)端,系統(tǒng)的需求分析將圍繞這兩部分進(jìn)行展開。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...

    villainhr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<