最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用 NodeJS+Express 開(kāi)發(fā)服務(wù)端的簡(jiǎn)單介紹

 更新時(shí)間:2017年04月07日 15:02:00   作者:sprint  
這篇文章主要介紹了使用 NodeJS+Express 開(kāi)發(fā)服務(wù)端的簡(jiǎn)單介紹,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。

隨著NodeJS的發(fā)展,現(xiàn)在已經(jīng)被很多人熟知,NodeJS已經(jīng)成為了前端開(kāi)發(fā)人員必備的技能。本文不會(huì)對(duì)NodeJS過(guò)多介紹 如果你感興趣可以訪問(wèn)NodeJS 官網(wǎng)

本文是利用NodeJS+Express開(kāi)發(fā)一個(gè)服務(wù)器程序,Express 是一種保持最低程度規(guī)模的靈活 Node.js Web 應(yīng)用程序框架,為 Web 和移動(dòng)應(yīng)用程序提供一組強(qiáng)大的功能。詳見(jiàn):官網(wǎng)

一 準(zhǔn)備工作

首先你需要安裝NodeJS環(huán)境 這里不再做介紹,

1.安裝Express

npm install express -g
npm install express-generator -g

2.初始化項(xiàng)目

cd /Users/SPRINT/Desktop 進(jìn)入桌面
express 項(xiàng)目名稱

項(xiàng)目名稱我們指定為APIServer,從項(xiàng)目名稱可以看出 我們是模擬服務(wù)器API

在這里我們將提供一個(gè)獲取用戶詳情接口 并輸出JSON數(shù)據(jù)。

在終端最后位置 看到輸出兩個(gè)命令

install dependencies:
 $ cd APIServer && npm install //告訴我們進(jìn)入項(xiàng)目根目錄 執(zhí)行npm install安裝依賴模塊

run the app:
 $ DEBUG=APIServer:* npm start //告訴我們啟動(dòng)服務(wù)器

執(zhí)行如下命令:

1.cd APIServer //進(jìn)入項(xiàng)目根目錄

2.npm install  //安裝依賴

我們回到桌面 你將看到一個(gè)APIServer目錄 我在這里使用Sublime Text打開(kāi)


/bin:用來(lái)啟動(dòng)應(yīng)用(服務(wù)器)

/public: 存放靜態(tài)資源目錄

/routes:路由用于確定應(yīng)用程序如何響應(yīng)對(duì)特定端點(diǎn)的客戶機(jī)請(qǐng)求,包含一個(gè) URI(或路徑)和一個(gè)特定的 HTTP 請(qǐng)求方法(GET、POST 等)。每個(gè)路由可以具有一個(gè)或多個(gè)處理程序函數(shù),這些函數(shù)在路由匹配時(shí)執(zhí)行。

/views: 模板文件所在目錄 文件格式為.jade

目錄app.js程序main文件 這個(gè)是服務(wù)器啟動(dòng)的入口

二 啟動(dòng)服務(wù)器

首先啟動(dòng)服務(wù)器

npm start //啟動(dòng)服務(wù)器


啟動(dòng)完成后終端將輸出 node ./bin/www

在瀏覽器中訪問(wèn) http://localhost:3000/


三 基本使用

打開(kāi)app.js 這里介紹下主要代碼

 var express = require('express');
 var path = require('path');
 var favicon = require('serve-favicon');
 var logger = require('morgan');
 var cookieParser = require('cookie-parser');
 var bodyParser = require('body-parser');

 var app = express();


///=======路由信息 (接口地址)開(kāi)始 存放在./routes目錄下===========//
 var routes = require('./routes/index');//home page接口
 var users = require('./routes/users'); //用戶接口

 app.use('/', routes); //在app中注冊(cè)routes該接口 
 app.use('/users', users);//在app中注冊(cè)u(píng)sers接口
///=======路由信息 (接口地址 介紹===========//



///=======模板 開(kāi)始===========//
// view engine setup
 app.set('views', path.join(__dirname, 'views'));
 app.set('view engine', 'jade');
///=======模板 結(jié)束===========//

當(dāng)我們?cè)跒g覽器中 訪問(wèn) http://localhost:3000/ 調(diào)用的就是index中的接口

我們打開(kāi)index.js就可以看到該接口的定義:

var express = require('express');
var router = express.Router();


//定義一個(gè)get請(qǐng)求 path為根目錄
/* GET home page. */
router.get('/', function(req, res, next) {
 res.render('index', { title: 'Express' });
});

module.exports = router;

定義一個(gè)路由的基本格式為:

app.METHOD(PATH, HANDLER)

其中:

app 是 express 的實(shí)例。

METHOD是 HTTP 請(qǐng)求方法。

PATH 是服務(wù)器上的路徑。

HANDLER 是在路由匹配時(shí)執(zhí)行的函數(shù)。

以上的定義代表
在根路由 (/) 上(應(yīng)用程序的主頁(yè))對(duì) GET 請(qǐng)求進(jìn)行響應(yīng):

是不是明白了?

如果我們想要實(shí)現(xiàn)一個(gè)獲取用戶信息接口該怎么寫(xiě)呢?

很簡(jiǎn)單在 routes目錄下創(chuàng)建一個(gè)user.js文件內(nèi)容如下:

定義一個(gè)User模型

function User() {
  this.name;
  this.city;
  this.age;
}
module.exports = User;

切換到users.js文件

在文件頂部添加

 var URL = require('url');

并繼續(xù)添加如下內(nèi)容:

router.get('/getUserInfo', function(req, res, next) {

 var user = new User();
 var params = URL.parse(req.url, true).query;

 if(params.id == '1') {

 user.name = "ligh";
 user.age = "1";
 user.city = "北京市";

}else{ 
 user.name = "SPTING";
 user.age = "1";
 user.city = "杭州市";
}

 var response = {status:1,data:user};
 res.send(JSON.stringify(response));

});

解釋下重點(diǎn):

獲取url參數(shù) 依賴于url模塊 使用前需要使用  require('url')

var params = URL.parse(req.url, true).query;


由于users.js路由信息已經(jīng)在app.js注冊(cè)

停止服務(wù)器 重新start服務(wù)器即可直接訪問(wèn)

調(diào)用方式

http://localhost:3000/users/getUserInfo?id=1
或者
http://localhost:3000/users/getUserInfo?id=2

你是不是注意到我們?cè)L問(wèn)的方式為users/getUserInfo?id=1 而不是基于根

原因是我們?cè)赼pp.js注冊(cè)方式為app.use('/users', users);

我們可以利用這種方式 開(kāi)發(fā)模塊功能 比如 你有另外一個(gè)模塊為msg

我們注冊(cè)為:app.use('/msgs', msgs);

調(diào)用方式為http://localhost:3000/msgs/getUserMsgs?id=1

這里我們寫(xiě)死了返回?cái)?shù)據(jù) 并沒(méi)有查詢數(shù)據(jù)庫(kù)

當(dāng)然NodeJS具備訪問(wèn)mysql的能力 但不是本篇文章的介紹范圍,可以參考此篇文章:http://m.fzitv.net/article/110616.htm

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用 NodeJS+Express 開(kāi)發(fā)服務(wù)端的簡(jiǎn)單介紹

    使用 NodeJS+Express 開(kāi)發(fā)服務(wù)端的簡(jiǎn)單介紹

    這篇文章主要介紹了使用 NodeJS+Express 開(kāi)發(fā)服務(wù)端的簡(jiǎn)單介紹,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • node.js遍歷目錄的方法示例

    node.js遍歷目錄的方法示例

    本篇文章主要介紹了node.js遍歷目錄的方法示例,主要介紹了同步遍歷和異步遍歷兩種方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-08-08
  • nodejs制作一個(gè)文檔同步工具自動(dòng)同步到gitee中的實(shí)現(xiàn)代碼

    nodejs制作一個(gè)文檔同步工具自動(dòng)同步到gitee中的實(shí)現(xiàn)代碼

    這篇文章主要介紹了nodejs制作一個(gè)文檔同步工具自動(dòng)同步到gitee中,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 在Node.js中使用TypeScript的方法示例

    在Node.js中使用TypeScript的方法示例

    在前端開(kāi)發(fā)中,隨著TypeScript的不斷普及,越來(lái)越多的開(kāi)發(fā)者使用TypeScript進(jìn)行開(kāi)發(fā),然而,在后端開(kāi)發(fā)中,在Node.js中使用 TypeScript還是相對(duì)較少見(jiàn)的,這篇文章將介紹如何在Node.js中配置TypeScript ,以及如何使用TypeScript來(lái)開(kāi)發(fā)高質(zhì)量的應(yīng)用程序
    2023-06-06
  • NodeJS落地WebSocket實(shí)踐前端架構(gòu)師破局技術(shù)

    NodeJS落地WebSocket實(shí)踐前端架構(gòu)師破局技術(shù)

    這篇文章主要為大家介紹了NodeJS落地WebSocket實(shí)踐前端架構(gòu)師破局技術(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實(shí)例代碼

    Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實(shí)例代碼

    下面小編就為大家?guī)?lái)一篇Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • NodeJs生成sitemap站點(diǎn)地圖的方法示例

    NodeJs生成sitemap站點(diǎn)地圖的方法示例

    這篇文章主要介紹了NodeJs生成sitemap站點(diǎn)地圖的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Node實(shí)戰(zhàn)之不同環(huán)境下配置文件使用教程

    Node實(shí)戰(zhàn)之不同環(huán)境下配置文件使用教程

    這篇文章主要給大家介紹了關(guān)于Node實(shí)戰(zhàn)之不同環(huán)境下配置文件使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • Node.js學(xué)習(xí)之TCP/IP數(shù)據(jù)通訊(實(shí)例講解)

    Node.js學(xué)習(xí)之TCP/IP數(shù)據(jù)通訊(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇Node.js學(xué)習(xí)之TCP/IP數(shù)據(jù)通訊(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • 在Mac OS下使用Node.js的簡(jiǎn)單教程

    在Mac OS下使用Node.js的簡(jiǎn)單教程

    這篇文章主要介紹了在Mac OS下使用Node.js的簡(jiǎn)單教程,Node.js是讓JavaScript應(yīng)用運(yùn)行于服務(wù)器端的框架,需要的朋友可以參考下
    2015-06-06

最新評(píng)論

昌图县| 伊金霍洛旗| 长春市| 临高县| 佛山市| 中牟县| 鄄城县| 无棣县| 榆社县| 南和县| 镇雄县| 崇阳县| 南京市| 吕梁市| 岢岚县| 桐梓县| 南丰县| 长白| 天等县| 常州市| 麦盖提县| 恩施市| 宁晋县| 邵阳县| 沧源| 灵川县| 桐庐县| 康定县| 姜堰市| 清镇市| 涞源县| 宜兴市| 合江县| 德令哈市| 济宁市| 林芝县| 怀仁县| 忻城县| 盐津县| 玛多县| 司法|