<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Node.jsExpress安裝與使用步驟詳解

        來源:懂視網 責編:小采 時間:2020-11-27 19:48:06
        文檔

        Node.jsExpress安裝與使用步驟詳解

        Node.jsExpress安裝與使用步驟詳解:這次給大家帶來Node.js Express安裝與使用步驟詳解,Node.js Express安裝與使用的注意事項有哪些,下面就是實戰案例,一起來看一下。之前我們在安裝完Node.js后直接寫了個HelloWorld網站,這次呢,我們使用Node.js的Web框架Express來重寫一下
        推薦度:
        導讀Node.jsExpress安裝與使用步驟詳解:這次給大家帶來Node.js Express安裝與使用步驟詳解,Node.js Express安裝與使用的注意事項有哪些,下面就是實戰案例,一起來看一下。之前我們在安裝完Node.js后直接寫了個HelloWorld網站,這次呢,我們使用Node.js的Web框架Express來重寫一下

        Express很輕巧,通常用來做Web后端的開發。有一些推薦的書,可以看這里:http://www.gxlcms.com/books/470249.html。

        要安裝express模塊,直接使用npm命令即可。在命令行環境下不帶參數執行npm命令,即可看到npm的幫助信息。安裝某個Node.js模塊,使用install子命令?!皀pm install xxx”會將xxx模塊安裝到當前路徑下,“npm install -g xxx”則將xxx模塊安裝到當前用戶的全局位置。使用“npm helo install”可以查看install子命令的細節。要卸載一個模塊,使用“npm uninstall xxx”,假如你是全局安裝,則使用“npm uninstall -g xxx”。

        在使用npm安裝某個模塊時,它會自動解決依賴。

        在命令行環境執行下面的命令來安裝express:

        npm install -g express –registry=https://registry.npm.taobao.org

        注意,我指定了使用淘寶的鏡像,快一些。

        特別說明一下:

        我參考了這里的教程哦:https://github.com/alsotang/node-lessons

        很快啦,你就可以看到下面的界面(注意我們安裝的Express版本是4.13.3):

        好啦,Express安裝完畢。

        需要說明的是,使用-g命令全局安裝Node.js模塊后,需要設置環境變量NODE_PATH,否則在我們使用node命令啟動某個應用時可能會報找不到指定的模塊這種錯誤。在我的Windows 7環境下,全局安裝時npm模塊的位置為“C:\Users\Administrator\AppData\Roaming\npm\node_modules”(看上面的圖可知)。至于環境變量的設置,計算機->高級系統設置->高級->環境變量,添加一個名為NODE_PATH的環境變量, 將其值設置為全局模塊的根目錄。設置完成后,重新進入命令行環境即可生效。

        提一下,如果要在NODE_PATH中添加多個模塊路徑,只需用“;”分隔開即可。具體含義,命令行下執行“node -h”可查看幫助。

        HelloWorld

        代碼就是這么簡單:

        // 引入 express 模塊
        var express = require('express');
        // 創建 express 實例
        var app = express();
        // 響應HTTP的GET方法
        app.get('/', function (req, res) {
         res.send('Hello World!');
        });
        // 監聽到8000端口
        app.listen(8000, function () {
         console.log('Hello World is listening at port 8000');
        });

        保存為HelloExpress.js,然后在Node.js的命令行環境下執行“node HelloExpress.js”命令,網站就運行起來了。瀏覽器訪問一下,和上次的示例一樣一樣的。

        使用Express有什么不同

        沒有使用Express的代碼是醬紫的:

        // 引入http模塊
        var http = require("http"); 
        // 創建server,指定處理客戶端請求的函數
        http.createServer(
         function(request, response) { 
         response.writeHead(200, {"Content-Type": "text/plain"}); 
         response.write("Hello World!"); 
         response.end(); 
         }
        ).listen(8000); 
        console.log("Hello World is listening at port 8000");

        上面的代碼直接使用Node.js帶的http模塊來創建HTTP服務器,指定了一個處理請求的函數。實際應用時,我們需要在這個函數內區分不同的HTTP請求,比如GET、HEAD、POST等。而Express版本的HelloWorld則有所不同,它可以針對每一個路徑和HTTP請求指定響應函數,比如Express版本的HelloWorld實例,只有你在瀏覽器中輸入“http://localhost:8000”時它才會返回“HelloWorld”,如果你在瀏覽器中輸入“http://localhost:8000/abc”,你就看到一條錯誤信息(會收到404狀態碼,express自動幫你處理了)。這里邊有一個URL路由(URL routing)的概念。假如把代碼修改成下面的樣子:

        app.get('*', function (req, res) {
         res.send('Hello World!');
        });

        效果就和使用http模塊的版本類似了。因為我使用了“*”作為通配符,可以匹配任何路徑。Express的get方法原型如下:

        app.METHOD(path, callback [, callback …])

        具體可以參考這里:http://expressjs.com/4x/api.html#app.METHOD。

        使用express創建HelloExpress

        express模塊有一個命令行工具express,可以用來生成基于express模塊的應用結構(網站結構)。

        express 4.x之后,express命令被獨立出來放在了express-generator模塊中。我們用下面的命令全局安裝express這個命令行工具:

        npm install -g express-generator

        安裝完成后,在命令行環境下執行“express -V”,可以看到express的版本是4.13.1。

        好了,現在我們使用express命令來創建一個默認的網站。

        在命令行環境下導航到myprojects這個目錄下,執行下面的命令:

        express HelloExpress

        然后可以看到:

        仔細看上面的圖哦,它告訴了我們三類非常重要的信息:

        1. express命令創建的網站的目錄結構以及創建的文件

        2. 安裝依賴(進入到HelloExpress下,執行npm install)

        3. 使用npm start啟動網站(express 4.x后)

        好啦,我們先安裝依賴。這里要先提一下HelloExpress目錄下的package.json文件,其內容如下:

        {
         "name": "HelloExpress",
         "version": "0.0.0",
         "private": true,
         "scripts": {
         "start": "node ./bin/www"
         },
         "dependencies": {
         "body-parser": "~1.13.2",
         "cookie-parser": "~1.3.5",
         "debug": "~2.2.0",
         "express": "~4.13.1",
         "jade": "~1.11.0",
         "morgan": "~1.6.1",
         "serve-favicon": "~2.3.0"
         }
        }

        這個文件定義了一個Node.js應用的基本信息,我們這次注意的是 dependencies ,它定義了應用依賴的模塊。

        在HelloExpress下執行“npm install”命令,npm會自動找到package.json,分析它,安裝所有依賴模塊。這要花費一些時間,休息一下,去喝杯茶。

        看看,下面是安裝結果:

        G:\nodejs\myprojects\HelloExpress>npm install
        debug@2.2.0 node_modules\debug
        └── ms@0.7.1
        cookie-parser@1.3.5 node_modules\cookie-parser
        ├── cookie-signature@1.0.6
        └── cookie@0.1.3
        serve-favicon@2.3.0 node_modules\serve-favicon
        ├── fresh@0.3.0
        ├── etag@1.7.0
        ├── parseurl@1.3.0
        └── ms@0.7.1
        morgan@1.6.1 node_modules\morgan
        ├── basic-auth@1.0.3
        ├── on-headers@1.0.0
        ├── depd@1.0.1
        └── on-finished@2.3.0 (ee-first@1.1.1)
        body-parser@1.13.3 node_modules\body-parser
        ├── content-type@1.0.1
        ├── bytes@2.1.0
        ├── depd@1.0.1
        ├── on-finished@2.3.0 (ee-first@1.1.1)
        ├── qs@4.0.0
        ├── iconv-lite@0.4.11
        ├── http-errors@1.3.1 (inherits@2.0.1, statuses@1.2.1)
        ├── raw-body@2.1.2 (unpipe@1.0.0)
        └── type-is@1.6.6 (media-typer@0.3.0, mime-types@2.1.4)
        express@4.13.3 node_modules\express
        ├── escape-html@1.0.2
        ├── merge-descriptors@1.0.0
        ├── array-flatten@1.1.1
        ├── cookie@0.1.3
        ├── cookie-signature@1.0.6
        ├── methods@1.1.1
        ├── utils-merge@1.0.0
        ├── range-parser@1.0.2
        ├── fresh@0.3.0
        ├── path-to-regexp@0.1.7
        ├── vary@1.0.1
        ├── content-type@1.0.1
        ├── etag@1.7.0
        ├── parseurl@1.3.0
        ├── content-disposition@0.5.0
        ├── serve-static@1.10.0
        ├── depd@1.0.1
        ├── qs@4.0.0
        ├── finalhandler@0.4.0 (unpipe@1.0.0)
        ├── on-finished@2.3.0 (ee-first@1.1.1)
        ├── send@0.13.0 (destroy@1.0.3, statuses@1.2.1, ms@0.7.1, mime@1.3.4, http-er
        rors@1.3.1)
        ├── accepts@1.2.12 (negotiator@0.5.3, mime-types@2.1.4)
        ├── type-is@1.6.6 (media-typer@0.3.0, mime-types@2.1.4)
        └── proxy-addr@1.0.8 (forwarded@0.1.0, ipaddr.js@1.0.1)
        jade@1.11.0 node_modules\jade
        ├── character-parser@1.2.1
        ├── void-elements@2.0.1
        ├── commander@2.6.0
        ├── constantinople@3.0.2 (acorn@2.1.0)
        ├── mkdirp@0.5.1 (minimist@0.0.8)
        ├── clean-css@3.3.7 (commander@2.8.1, source-map@0.4.4)
        ├── uglify-js@2.4.24 (uglify-to-browserify@1.0.2, async@0.2.10, source-map@0.
        1.34, yargs@3.5.4)
        ├── with@4.0.3 (acorn@1.2.2, acorn-globals@1.0.5)
        ├── transformers@2.1.0 (css@1.0.8, uglify-js@2.2.5, promise@2.0.0)
        └── jstransformer@0.0.2 (is-promise@2.0.0, promise@6.1.0)
        G:\nodejs\myprojects\HelloExpress>

        有興趣的可以研究下各個依賴模塊的信息,現在我們啟動網站了。執行 npm start 命令,很快就可以看到下面的圖:

        看到上圖,說明網站已正常運行。你可以在瀏覽器里訪問http://localhost:3000,然后就可以看到這個頁面:

        OK,大功告成。

        這個由express generator創建的HelloExpress和我們基于express手動寫的HelloWorld又有一些不同,比如你在瀏覽器地址欄里輸入http://localhost:3000/abc,就會看到一個默認的404頁面,顯示了具體的錯誤信息。而我們的HelloWorld,顯示的則是“Cannot GET /abc”這個文本串。這就是模板的便利之處,有很多默認處理,可以為我們省很多麻煩。

        Express版本的文件服務器

        express是在Node.js的http的基礎上實現的,相比http模塊,封裝更多更適用于web服務器場景的功能。之前我們在Node.js開發入門——HTTP文件服務器里使用http模塊實現了一個簡單的文件服務器。那個版本的文件服務器還有一個缺陷,就是沒有根據文件名設置HTTP的Content-Type頭部。如果我們使用express來實現文件服務器(用到了Request對象的sendFile方法),哈哈,就只有幾行代碼,還解決了Content-Type問題!

        代碼如下:

        var express = require('express');
        var app = express();
        app.get('*', function(req, res){
         res.sendFile(req.path, {root: dirname+'/', dotfiles: 'deny'});
        });
        app.listen(3000);

        是不是超級簡單?

        相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

        推薦閱讀:

        table表格內對某列內容進行搜索篩選步驟詳解

        Vue拖拽組件開發步驟解析

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Node.jsExpress安裝與使用步驟詳解

        Node.jsExpress安裝與使用步驟詳解:這次給大家帶來Node.js Express安裝與使用步驟詳解,Node.js Express安裝與使用的注意事項有哪些,下面就是實戰案例,一起來看一下。之前我們在安裝完Node.js后直接寫了個HelloWorld網站,這次呢,我們使用Node.js的Web框架Express來重寫一下
        推薦度:
        標簽: 步驟 方法 安裝
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲成人精品久久| 亚洲欧洲中文日韩av乱码| a级男女仿爱免费视频| 成在人线av无码免费高潮水| 性xxxx视频免费播放直播| 嘿嘿嘿视频免费网站在线观看| 国产一精品一AV一免费孕妇| 亚洲日韩VA无码中文字幕 | 免费看一级做a爰片久久| 亚洲欧洲无码AV电影在线观看| 亚洲一区在线视频| 国产亚洲精品成人久久网站| 国产裸体美女永久免费无遮挡 | 亚洲欧美日韩中文字幕在线一区| 四虎一区二区成人免费影院网址| 免费无码又爽又刺激网站直播| 久久不见久久见中文字幕免费| 精品亚洲成A人无码成A在线观看| 成年午夜视频免费观看视频| 亚洲av无码一区二区乱子伦as| 苍井空亚洲精品AA片在线播放| 最近新韩国日本免费观看| 免费在线观看亚洲| 久久亚洲精品国产精品婷婷| 中文字幕在线免费看线人| 亚洲国产日韩一区高清在线| 免费国产黄网站在线观看动图| 女人被男人躁的女爽免费视频| 亚洲人成网址在线观看 | 114级毛片免费观看| 国产综合精品久久亚洲| 国产精品久久久久久亚洲影视| 亚洲免费日韩无码系列 | 免费人成在线观看网站品爱网| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 亚洲手机中文字幕| 久久免费精彩视频| 亚洲熟妇无码AV在线播放| 最近中文字幕无免费| 美女裸体无遮挡免费视频网站| 国产午夜无码视频免费网站|