Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日韩综合久久,国产免费视屏,久久亚洲精品一区成人

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          初識Node.js中的express框架

          xpress框架是Node.js基金會的一個項目,官方網(wǎng)址為http://expressjs.com。(中文網(wǎng)站為http://expressjs.com/zh-cn)。它提供了對Node.js原生API比較好的封裝,從而使開發(fā)者更容易的使用Node.js,并用來開發(fā)強(qiáng)壯的Web、移動應(yīng)用,以及API的一些其他功能。開發(fā)人員還能夠方便的為它開發(fā)插件和擴(kuò)展,從而增加Express的能力。

          簡言之,Express 是一個簡潔而靈活的 node.js Web應(yīng)用框架, 提供了一系列強(qiáng)大特性幫助你創(chuàng)建各種 Web 應(yīng)用,和豐富的 HTTP 工具。使用 Express 可以快速地搭建一個完整功能的網(wǎng)站。

          通過使用Node Express,可以使用更少的代碼來實現(xiàn)功能。至少通過使用Node Express可以實現(xiàn)中間件來響應(yīng)http請求,可以定義路由表來定義不同請求的響應(yīng)函數(shù),還可以使用模板引擎來輸出html頁面。其實這也是Express的核心特點。

          Express 框架核心特性:

          可以設(shè)置中間件來響應(yīng) HTTP 請求。

          定義了路由表用于執(zhí)行不同的 HTTP 請求動作。

          可以通過向模板傳遞參數(shù)來動態(tài)渲染 HTML 頁面。

          好,接下來我們進(jìn)行Express的安裝,我們通過以下命令就可以安裝 Express 并將其保存到依賴列表中:

          npm install express --save

          上命令會將 Express 框架安裝在當(dāng)前目錄的 node_modules 目錄中, node_modules 目錄下會自動創(chuàng)建 express 目錄。以下幾個重要的模塊是需要與 express 框架一起安裝的:

          body-parser - node.js 中間件,用于處理 JSON, Raw, Text 和 URL 編碼的數(shù)據(jù)。

          cookie-parser - 這就是一個解析Cookie的工具。通過req.cookies可以取到傳過來的cookie,并把它們轉(zhuǎn)成對象。

          multer - node.js 中間件,用于處理 enctype="multipart/form-data"(設(shè)置表單的MIME編碼)的表單數(shù)據(jù)。

          npm install body-parser --save

          npm install cookie-parser --save

          npm install multer --save

          安裝完后,我們可以通過以下npm命令查看 express 使用的版本號:

          npm list express

          如果小伙伴們進(jìn)行到了上一步驟,說明我們已經(jīng)把Express安裝成功了。接下來,我們就可以學(xué)習(xí)Express和使用它進(jìn)行一個實例的開發(fā)。哈哈,廢話不多說,第一個實例想都不用想,就是用Express框架來輸出Hello World。

          以下實例的需求呢就是,我們新建一個demo.js文件,在文件我們需要引入express模塊,并在客戶端發(fā)起請求后,響應(yīng)“Hello World”字符串。

          創(chuàng)建demo.js文件,代碼如下所示:

          上面代碼寫完之后,我們開始運(yùn)行,程序運(yùn)行起來,通過訪問http://localhost:3000/

          就可以看到字符串“Hello World”

          接下來,我們看看Express是如何處理請求和響應(yīng)的。

          Express 應(yīng)用使用回調(diào)函數(shù)的參數(shù): requestresponse 對象來處理請求和響應(yīng)的數(shù)據(jù)。

          app.get('/', function (req, res) {

          // --})

          request 和 response 對象的具體介紹:

          Request 對象 - request 對象表示 HTTP 請求,包含了請求查詢字符串,參數(shù),內(nèi)容,HTTP 頭部等屬性。常見屬性有:

          1.req.app:當(dāng)callback為外部文件時,用req.app訪問express的實例

          2.req.baseUrl:獲取路由當(dāng)前安裝的URL路徑

          3.req.body / req.cookies:獲得「請求主體」/ Cookies

          4.req.fresh / req.stale:判斷請求是否還「新鮮」

          5.req.hostname / req.ip:獲取主機(jī)名和IP地址

          6.req.originalUrl:獲取原始請求URL

          7.req.params:獲取路由的parameters

          8.req.path:獲取請求路徑

          9.req.protocol:獲取協(xié)議類型

          10.req.query:獲取URL的查詢參數(shù)串

          11.req.route:獲取當(dāng)前匹配的路由

          12.req.subdomains:獲取子域名

          13.req.accepts():檢查可接受的請求的文檔類型

          14.req.acceptsCharsets / req.acceptsEncodings / req.acceptsLanguages:返回指定字符集的第一個可接受字符編碼

          15.req.get():獲取指定的HTTP請求頭

          16.req.is():判斷請求頭Content-Type的MIME類型

          Response 對象 - response 對象表示 HTTP 響應(yīng),即在接收到請求時向客戶端發(fā)送的 HTTP 響應(yīng)數(shù)據(jù)。常見屬性有:

          1.res.app:同req.app一樣

          2.res.append():追加指定HTTP頭

          3.res.set()在res.append()后將重置之前設(shè)置的頭

          4.res.cookie(name,value [,option]):設(shè)置Cookie

          5.opition: domain / expires / httpOnly / maxAge / path / secure / signed

          6.res.clearCookie():清除Cookie

          7.res.download():傳送指定路徑的文件

          8.res.get():返回指定的HTTP頭

          9.res.json():傳送JSON響應(yīng)

          10.res.jsonp():傳送JSONP響應(yīng)

          11.res.location():只設(shè)置響應(yīng)的Location HTTP頭,不設(shè)置狀態(tài)碼或者close response

          12.res.redirect():設(shè)置響應(yīng)的Location HTTP頭,并且設(shè)置狀態(tài)碼302

          13.res.render(view,[locals],callback):渲染一個view,同時向callback傳遞渲染后的字符串,如果在渲染過程中有錯誤發(fā)生next(err)將會被自動調(diào)用。callback將會被傳入一個可能發(fā)生的錯誤以及渲染后的頁面,這樣就不會自動輸出了。

          14.res.send():傳送HTTP響應(yīng)

          15.res.sendFile(path [,options] [,fn]):傳送指定路徑的文件 -會自動根據(jù)文件extension設(shè)定Content-Type

          16.res.set():設(shè)置HTTP頭,傳入object可以一次設(shè)置多個頭

          17.res.status():設(shè)置HTTP狀態(tài)碼

          18.res.type():設(shè)置Content-Type的MIME類型

          今天小編就把Express框架先介紹到這里吧。其實呢,Express框架還有很多核心功能,例如其中的路由、處理靜態(tài)文件、處理get請求、post請求等等功能,這寫功能的使用,我們將會在下期在一一介紹,我們下期再見。

          擊上方藍(lán)字關(guān)注“小鄭搞碼事”,每天都能學(xué)到知識,搞懂一個問題!

          Web頁面有一個相當(dāng)重要的部分,就是CSS。而寫CSS的人都知道,它沒有變量,也沒有條件語句,只是一行行單純的描述,寫起來是相當(dāng)費事。所以,自然而然人們迫切希望能像寫JS一樣來寫CSS,但是運(yùn)行環(huán)境又只認(rèn)識CSS呀,所以這時就出現(xiàn)了CSS預(yù)處理器的東西。像sass,less,stylus等。

          然而,這些樣式文件放在前端,你可以通過預(yù)處理命令或可視化工具又或者構(gòu)建工具來將它們編譯成CSS文件。但是今天,我們來看一下在服務(wù)端,使用Express如何處理這些需要編譯成CSS的文件。

          在前面我們總結(jié)過,Express的重點就是中間件,是的,處理這些文件同樣只需要引入三個對應(yīng)的中間件就行了。下面來實例一下:

          一、先安裝這三個中間件(stylus,less-middleware,node-sass-middleware)

          實例目錄:

          二、使用中間件看結(jié)果

          中間件作用后會自動在預(yù)編譯文件目錄下生成一個對應(yīng)名稱的樣式文件,所以在public下的index.html文件里,直接引入對應(yīng)名稱的樣式文件(這里是style.css)。

          index.html:

          下面看一下這三個中間件是如何處理。

          style.styl中間件處理:

          style.scss中間件處理:

          style.less中間件處理:

          啟動服務(wù):

          node index.js

          訪問:

          http://localhost:1234/index.html

          這樣就能看到對應(yīng)的每一個對應(yīng)的樣式效果。

          三、總結(jié)一下

          以上內(nèi)容可以看出,這里沒有將各種樣式預(yù)處理文件的內(nèi)容給出來,是因為其內(nèi)容比較簡單,加上其語法也不是這篇要說的內(nèi)容。感興趣的同學(xué)可以向我要完整碼,或者自己加點代碼運(yùn)行試試。

          當(dāng)今的前端開發(fā)中,了解后端技術(shù)對于全棧工程師來說至關(guān)重要。Express.js,作為Node.js的一個輕量級框架,以其簡單、快速和靈活的特性受到了廣大開發(fā)者的青睞。本文旨在通過15分鐘的閱讀,幫助你快速理解Express.js,掌握其基本用法,為全棧之路打下堅實基礎(chǔ)。

          一、Express.js簡介

          Express.js是一個基于Node.js平臺的極簡、靈活的web開發(fā)框架,它提供了一系列強(qiáng)大的特性,幫助開發(fā)者快速構(gòu)建Web和移動應(yīng)用程序。通過Express.js,我們可以輕松創(chuàng)建Web服務(wù)器,處理HTTP請求和響應(yīng),以及構(gòu)建RESTful API等。

          二、安裝與設(shè)置

          首先,確保你已經(jīng)安裝了Node.js。然后,通過npm(Node.js的包管理器)安裝Express.js:

          接下來,創(chuàng)建一個新的JavaScript文件(例如app.js),并引入Express模塊:

          三、基本路由

          路由是Express.js的核心功能之一。它允許我們定義應(yīng)用程序如何響應(yīng)客戶端發(fā)送的HTTP請求。下面是一個簡單的路由示例:

          上述代碼定義了一個GET請求路由,當(dāng)訪問應(yīng)用程序的根路徑(/)時,服務(wù)器將返回"Hello World!"。

          四、中間件

          Express.js中的中間件是一種函數(shù),它可以處理請求和響應(yīng),或者終止請求-響應(yīng)周期。中間件在Express.js中扮演著非常重要的角色,用于執(zhí)行各種任務(wù),如日志記錄、身份驗證、錯誤處理等。

          以下是一個簡單的中間件示例,用于記錄每個請求的URL:

          app.use((req, res, next) => {  
            console.log(`Request URL: ${req.url}`);  
            next();  
          });
          

          五、靜態(tài)文件服務(wù)

          Express.js還提供了靜態(tài)文件服務(wù)功能,可以方便地為用戶提供圖片、CSS和JavaScript等靜態(tài)資源。例如,以下代碼將設(shè)置一個靜態(tài)文件目錄:

          app.use(express.static('public'));
          

          在上述設(shè)置中,Express.js將自動為public目錄下的文件提供路由。

          六、啟動服務(wù)器

          最后,我們需要監(jiān)聽一個端口以啟動服務(wù)器。以下代碼將啟動一個監(jiān)聽3000端口的服務(wù)器:

          const PORT = 3000;  
          app.listen(PORT, () => {  
            console.log(`Server is running on port ${PORT}`);  
          });
          

          七、總結(jié)

          通過本文的介紹,你應(yīng)該已經(jīng)對Express.js有了一個初步的了解。當(dāng)然,Express.js的功能遠(yuǎn)不止于此,還有更多高級特性和用法等待你去探索。不過,通過這15分鐘的閱讀,你已經(jīng)邁出了全棧開發(fā)的重要一步。現(xiàn)在,你可以嘗試使用Express.js構(gòu)建一個簡單的Web應(yīng)用程序,將所學(xué)知識付諸實踐。記住,全棧之路雖然充滿挑戰(zhàn),但只要勇敢邁出第一步,就會發(fā)現(xiàn)其實并沒有那么難。加油!


          主站蜘蛛池模板: 免费一本色道久久一区| 中文人妻av高清一区二区 | 精品欧洲av无码一区二区三区| 久久国产免费一区二区三区| 在线观看国产一区二区三区| 色偷偷av一区二区三区| 一区二区不卡视频在线观看| 亚洲精品精华液一区二区| 国产无线乱码一区二三区 | 中文字幕aⅴ人妻一区二区 | 2020天堂中文字幕一区在线观 | 日韩精品无码一区二区中文字幕| 精品一区二区三区中文| 亚洲欧美日韩一区二区三区| 色噜噜狠狠一区二区三区果冻| 伊人久久大香线蕉av一区| 一区二区三区四区在线视频| 国产小仙女视频一区二区三区| 78成人精品电影在线播放日韩精品电影一区亚洲 | 天天看高清无码一区二区三区 | 精品一区二区三区在线视频| 国产在线不卡一区| 视频一区视频二区日韩专区| 国产成人av一区二区三区不卡| 在线播放精品一区二区啪视频| 亚洲AV无码一区二区三区久久精品| 日韩亚洲AV无码一区二区不卡 | 性盈盈影院免费视频观看在线一区| 亚洲欧洲无码一区二区三区| 麻豆AV一区二区三区| 中文字幕一区一区三区| 韩国福利一区二区美女视频| 国产福利一区二区三区视频在线| 精品国产AV一区二区三区| 亚洲熟妇av一区| 精品久久久久久无码中文字幕一区| 日韩色视频一区二区三区亚洲| 国产一区二区三区内射高清| 合区精品久久久中文字幕一区| 国产精品一区在线观看你懂的| 精品日产一区二区三区手机|