国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用 NodeJS+Express 開發服務端的簡單介紹

2019-11-19 16:53:28
字體:
來源:轉載
供稿:網友

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

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

一 準備工作

首先你需要安裝NodeJS環境 這里不再做介紹,

1.安裝Express

npm install express -gnpm install express-generator -g

2.初始化項目

cd /Users/SPRINT/Desktop 進入桌面express 項目名稱

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

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

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

install dependencies: $ cd APIServer && npm install //告訴我們進入項目根目錄 執行npm install安裝依賴模塊run the app: $ DEBUG=APIServer:* npm start //告訴我們啟動服務器

執行如下命令:

1.cd APIServer //進入項目根目錄

2.npm install  //安裝依賴

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


/bin:用來啟動應用(服務器)

/public: 存放靜態資源目錄

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

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

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

二 啟動服務器

首先啟動服務器

npm start //啟動服務器


啟動完成后終端將輸出 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');///=======模板 結束===========//

當我們在瀏覽器中 訪問 http://localhost:3000/ 調用的就是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 是服務器上的路徑。

HANDLER 是在路由匹配時執行的函數。

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

是不是明白了?

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

很簡單在 routes目錄下創建一個user.js文件內容如下:

定義一個User模型

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

切換到users.js文件

在文件頂部添加

 var URL = require('url');

并繼續添加如下內容:

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));});

解釋下重點:

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

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


由于users.js路由信息已經在app.js注冊

停止服務器 重新start服務器即可直接訪問

調用方式

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

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

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

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

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

調用方式為http://localhost:3000/msgs/getUserMsgs?id=1

這里我們寫死了返回數據 并沒有查詢數據庫

當然NodeJS具備訪問mysql的能力 但不是本篇文章的介紹范圍,可以參考此篇文章://m.survivalescaperooms.com/article/110616.htm

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定远县| 会理县| 甘洛县| 武川县| 沙坪坝区| 桃园县| 玉龙| 商河县| 乌兰察布市| 宁明县| 呼和浩特市| 乐至县| 肇州县| 广元市| 湖州市| 吕梁市| 东丽区| 玉山县| 休宁县| 古交市| 社会| 长丰县| 舒兰市| 扎兰屯市| 苗栗县| 鸡泽县| 瓦房店市| 即墨市| 三门县| 姜堰市| 普陀区| 临汾市| 昭通市| 梁平县| 镇平县| 长泰县| 鹤峰县| 德昌县| 新蔡县| 基隆市| 讷河市|