欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

一 準(zhǔn)備工作

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

1.安裝Express

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

2.初始化項目

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

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

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

在終端最后位置 看到輸出兩個命令

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

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

執(zhí)行如下命令:

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

2.npm install  //安裝依賴

我們回到桌面 你將看到一個APIServer目錄 我在這里使用Sublime Text打開


/bin:用來啟動應(yīng)用(服務(wù)器)

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

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

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

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

二 啟動服務(wù)器

首先啟動服務(wù)器

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


啟動完成后終端將輸出 node ./bin/www

在瀏覽器中訪問 http://localhost:3000/


三 基本使用

打開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();


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

 app.use('/', routes); //在app中注冊routes該接口 
 app.use('/users', users);//在app中注冊users接口
///=======路由信息 (接口地址 介紹===========//



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

當(dāng)我們在瀏覽器中 訪問 http://localhost:3000/ 調(diào)用的就是index中的接口

我們打開index.js就可以看到該接口的定義:

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


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

module.exports = router;

定義一個路由的基本格式為:

app.METHOD(PATH, HANDLER)

其中:

app 是 express 的實例。

METHOD是 HTTP 請求方法。

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

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

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

是不是明白了?

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

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

定義一個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注冊

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

調(diào)用方式

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

你是不是注意到我們訪問的方式為users/getUserInfo?id=1 而不是基于根

原因是我們在app.js注冊方式為app.use('/users', users);

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

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

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

這里我們寫死了返回數(shù)據(jù) 并沒有查詢數(shù)據(jù)庫

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

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

相關(guān)文章

  • 如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密

    如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密

    目前在web框架中最流行的身份驗證是使用jsonwebtoken,簡稱jwt.可以設(shè)置加密方式,過期時間,存放個人信息,逆解析,下面這篇文章主要給大家介紹了關(guān)于如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • node.js操作MongoDB的實例詳解

    node.js操作MongoDB的實例詳解

    這篇文章主要介紹了node.js操作MongoDB的實例詳解的相關(guān)資料,希望通過本能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 輕松創(chuàng)建nodejs服務(wù)器(4):路由

    輕松創(chuàng)建nodejs服務(wù)器(4):路由

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(4):路由,服務(wù)器需要根據(jù)不同的URL或請求來執(zhí)行不一樣的操作,我們可以通過路由來實現(xiàn)這個步驟,需要的朋友可以參考下
    2014-12-12
  • NodeJS感知和控制自身進(jìn)程的運(yùn)行環(huán)境和狀態(tài)

    NodeJS感知和控制自身進(jìn)程的運(yùn)行環(huán)境和狀態(tài)

    NodeJS可以感知和控制自身進(jìn)程的運(yùn)行環(huán)境和狀態(tài),也可以創(chuàng)建子進(jìn)程并與其協(xié)同工作,這使得NodeJS可以把多個程序組合在一起共同完成某項工作,并在其中充當(dāng)膠水和調(diào)度器的作用,和進(jìn)程管理相關(guān)的API單獨(dú)介紹起來比較枯燥,這里從一些典型的應(yīng)用場景出發(fā)
    2024-01-01
  • 利用pm2部署多個node.js項目的配置教程

    利用pm2部署多個node.js項目的配置教程

    目前似乎最常見的線上部署nodejs項目的有forever,pm2這兩種,而下面這篇文章主要給大家介紹了關(guān)于利用pm2部署多個node.js項目的配置教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • Nodejs訪問網(wǎng)絡(luò)并解析返回的json的實現(xiàn)方法

    Nodejs訪問網(wǎng)絡(luò)并解析返回的json的實現(xiàn)方法

    本文主要介紹了Nodejs訪問網(wǎng)絡(luò)并解析返回的json的實現(xiàn)方法,文中根據(jù)實例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Node.js 實現(xiàn)簡單小說爬蟲實例

    Node.js 實現(xiàn)簡單小說爬蟲實例

    現(xiàn)在爬蟲在很多web項目中都有應(yīng)用,這篇文章主要介紹了Node.js 實現(xiàn)簡單小說爬蟲實例,有興趣的可以了解一下。
    2016-11-11
  • node.js中的fs.close方法使用說明

    node.js中的fs.close方法使用說明

    這篇文章主要介紹了node.js中的fs.close方法使用說明,本文介紹了fs.close方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node中間層實現(xiàn)文件上傳功能

    node中間層實現(xiàn)文件上傳功能

    這篇文章主要介紹了node中間層實現(xiàn)文件上傳功能,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-06-06
  • 總結(jié)Node.js中9種fs模塊文件操作方法(文件夾遞歸刪除知識)

    總結(jié)Node.js中9種fs模塊文件操作方法(文件夾遞歸刪除知識)

    這篇文章主要介紹了總結(jié)Node.js中9種fs模塊文件操作方法(文件夾遞歸刪除知識),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07

最新評論