92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

node.js搭建服務端項目

2021-6-4    前端達人



Node.js 是一個基于 Chrome V8 引擎 的 JavaScript 運行時(即node.js不是一門語言也不是庫和框架,它是一個JavaScript運行時環境)。 用于方便地搭建響應速度快、易于擴展的網絡應用。Node.js使用事件驅動,非阻塞I/O 模型而得以輕量和高效,非常適合在分布式設備上運行數據密集型的實時應用。

安裝node

直接到官網上下載自己電腦的版本,官網地址:https://nodejs.org/zh-cn/
安裝完成之后可以通過在終端上運行

 node -v //查看是否安裝成功,成功的話會展示當前安裝版本 npm -v //安裝node的時會連同一起將npm安裝包一起打包安裝了,npm是nodejs的包管理器 npm install -g cnpm --registry=https://registry.npm.taobao.org //安裝淘寶鏡像可提高下載包工具的速度 

Express框架

Express 是一個簡潔而靈活的 node.js Web應用框架, 提供了一系列強大特性幫助你創建各種 Web 應用,和豐富的 HTTP 工具。

使用 Express 可以快速地搭建一個完整功能的網站。express 是nodejs的一個web框架,使用express,能夠更便捷的使用nodejs.

安裝

第一步:安裝express

npm install express --save -g 

第二步:安裝express-generator

npm install express-generator --save -g //express-generator是express應用生成器,相當于express 的骨架 

第三步:打開終端進入你將要建立項目的文件夾中創建你的項目

express expressDemo //你要建立的項目名稱 

第四步:安裝:npm install
第五步:啟動項目:npm start
這樣你的第一個express項目就創建成功了

express-路由

Express框架建立在node.js內置的http模塊上。http模塊生成服務器的原始代碼如下。

var http = require("http"); var app = http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("Hello world!"); }); app.listen(3000, "localhost"); 

上面代碼的關鍵是http模塊的createServer方法,表示生成一個HTTP服務器實例。該方法接受一個回調函數,該回調函數的參數,分別為代表HTTP請求和HTTP回應的request對象和response對象。

Express框架的核心是對http模塊的再包裝。上面的代碼用Express改寫如下。

var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello world!'); }); app.listen(3000); 

比較兩段代碼,可以看到它們非常接近。原來是用http.createServer方法新建一個app實例,現在則是用Express的構造方法,生成一個Epress實例。兩者的回調函數都是相同的。Express框架等于在http模塊之上,加了一個中間層。

中間件

簡單說,中間件(middleware)就是處理HTTP請求的函數。它最大的特點就是,一個中間件處理完,再傳遞給下一個中間件。App實例在運行過程中,會調用一系列的中間件。

每個中間件可以從App實例,接收三個參數,依次為request對象(代表HTTP請求)、response對象(代表HTTP回應),next回調函數(代表下一個中間件)。每個中間件都可以對HTTP請求(request對象)進行加工,并且決定是否調用next方法,將request對象再傳給下一個中間件。
Express 應用程序基本上是一系列中間件函數調用。
中間件函數可以執行以下任務:

  • 執行任何代碼。
  • 對請求和響應對象進行更改。
  • 結束請求/響應循環。
  • 調用堆棧中的下一個中間件函數。

Express 應用程序可以使用以下類型的中間件:

  • 應用層中間件
  • 路由器層中間件
  • 錯誤處理中間件
  • 內置中間件
  • 第三方中間件

應用層中間件
使用 app.use()app.METHOD() 函數將應用層中間件綁定到應用程序對象的實例,其中 METHOD 是中間件函數處理的請求的小寫 HTTP 方法(例如 GET、PUT 或 POST)。

app.use('/user/:id', function (req, res, next) { //在 /user/:id 路徑中為任何類型的 HTTP 請求執行此函數。 console.log('Request Type:', req.method); next(); }); app.get('/user/:id', function (req, res, next) { res.send('USER'); }); 

路由器層中間件
路由器層中間件的工作方式與應用層中間件基本相同,差異之處在于它綁定到 express.Router() 的實例。

var router = express.Router(); 

錯誤處理中間件
錯誤處理中間件函數的定義方式與其他中間件函數基本相同,差別在于錯誤處理函數有四個自變量而不是三個,專門具有特征符 (err, req, res, next):

app.use(function(err, req, res, next) { console.error(err.stack); res.status(500).send('Something broke!'); }); 

有關錯誤處理中間件的詳細信息,請參閱:錯誤處理。

內置中間件
自 V4.x 起,Express 不再依賴于 Connect。除 express.static 外,先前 Express 隨附的所有中間件函數現在以單獨模塊的形式提供。請查看中間件函數的列表

第三方中間件
使用第三方中間件向 Express 應用程序添加功能。
安裝具有所需功能的 Node.js 模塊,然后在應用層或路由器層的應用程序中將其加裝入。
列如cookie-parser中間件函數
首先安裝cookie-parser。 npm install cookie-parser

var express = require('express'); var app = express(); var cookieParser = require('cookie-parser'); // load the cookie-parsing middleware app.use(cookieParser()); 

MongoDB數據庫

MongoDB 是一個基于分布式文件存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案。
MongoDB 是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。

你可以在mongodb官網下載該安裝包,地址為:https://www.mongodb.com/download-center#community。
以下以Mac版本為例講解

1,打開終端修改環境變量

echo $PATH 

你可以查看到你當前的環境變量下面的文件


image.png

2,選擇其中一個文件夾進去然后將你的mongodb的安裝包路徑映射到此文件上

ln -s 你的MongoDB的安裝包路徑/bin/mongo mongo 

3,你創建一個數據庫存儲目錄 /data/db:

sudo mkdir -p /data/db 

4,啟動 mongodb,默認數據庫目錄即為 /data/db:

sudo mongod 

5,再打開一個終端執行以下命令連接

mongo 

這樣你就啟動連接上了本地的數據庫
你可以下載安裝mongosBooster數據庫管理你的數據,地址為https://nosqlbooster.com/downloads

mongoose

mongoose是nodeJS提供連接 mongodb的一個庫. 此外還有mongoskin, mongodb(mongodb官方出品). 本人,還是比較青睞mongoose的, 因為他遵循的是一種, 模板式方法, 能夠對你輸入的數據進行自動處理. 有興趣的同學可以去Mongoose官網看看.
安裝mongoose

npm install mongoose --save 

Mongoose里面有幾個基本概念.

  • Schema: 相當于一個數據庫的模板. Model可以通過mongoose.model 集成其基本屬性內容. 當然也可以選擇不繼承.
  • Model: 基本文檔數據的父類,通過集成Schema定義的基本方法和屬性得到相關的內容.
  • instance: 這就是實實在在的數據了. 通過 new Model()初始化得到.
    在保證你已經啟動連接上了mongoDB時你就可以使用了,列如以下Demo
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/test'); const con = mongoose.connection; con.on('error', console.error.bind(console, '連接數據庫失敗')); con.once('open',()=>{ //定義一個schema let Schema = mongoose.Schema({ category:String, name:String }); Schema.methods.eat = function(){ console.log("I've eatten one "+this.name); } //繼承一個schema let Model = mongoose.model("fruit",Schema); //生成一個document let people = new Model({ category:'apple', name:'apple' }); //存放數據 people.save((err,apple)=>{ if(err) return console.log(err); apple.eat(); //查找數據 Model.find({name:'apple'},(err,data)=>{ console.log(data); }) }); //查詢所有數據 people.find(function(err,ret){ if(err){ console.log('查詢失敗') }else{ console.log('查詢成功') } }) //按條件查詢符合條件的數據 people.find({},function(err,ret){ }) //按條件查詢單個數據 people.findOne({},function(err,ret){ }) //刪除數據 people.remove({uesername:'zhangsan'},function(err,ret){ }) //根據ID刪除數據 peop.findByIdAndRemove({},function(err,ret){ }) //更新數據 people.findByIdAndUpdate('dfsfs',function(err,ret){ }) }) 

到這里, 實際上, mongoose我們已經就學會了. 剩下就是看一看官方文檔的API–CRUD相關操作



作者:orange_9706
來源:簡書



藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

截屏2021-05-13 上午11.41.03.png

  藍藍設計m.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服



日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
福利视频在线导航| 精品国产髙清在线看国产毛片| 美女羞羞视频在线观看| 国产.精品.日韩.另类.中文.在线.播放| 国产成人一级电影| 国产精品sm| 91成人理论电影| 欧美极品xxx| 羞羞视频在线免费国产| 波多野结衣在线播放| 国内久久久精品| 国产精品日韩欧美一区二区三区| 欧美激情区在线播放| 美女日韩在线中文字幕| 一本久道中文字幕精品亚洲嫩| 亚洲激情自拍视频| 国产精品嫩草久久久久| 国产精品巨作av| 日本aⅴ精品一区二区三区| 一二三区精品福利视频| 红桃成人av在线播放| 国产精品一二三区| 黄网在线免费看| 国产精品欧美精品| 这里只有精品在线播放| 久久久精品2019中文字幕之3| 久久99热精品| 黄网站在线观| 国模精品一区二区三区| 国产高清自产拍av在线| 久久久91精品国产一区二区三区| 欧美激情在线精品一区二区三区| 春色校园综合激情亚洲| 欧美色视频日本高清在线观看| 欧美日韩精品免费观看视频完整| 色yeye香蕉凹凸一区二区av| 久久国产精品99国产精| 色综合天天狠天天透天天伊人| 一区二区三区在线视频免费观看| 色综合久久综合网欧美综合网| 国产成人久久精品麻豆二区| 一区二区成人在线| 色999日韩国产欧美一区二区| 精品香蕉视频| 国产精品女主播在线观看| 男人和女人做事情在线视频网站免费观看| 国内精品国产三级国产在线专| 国产福利片在线观看| 欧洲亚洲在线视频| 欧美欧美在线| 精品香蕉在线观看视频一| 国产精品人人爽人人做我的可爱| 91美女片黄在线观| 国产精品一区二区在线播放| 美脚恋feet久草欧美| 91视频网页| 日本美女高清在线观看免费| 国产色婷婷国产综合在线理论片a| 91九色精品| 亚洲一区二区三区免费| 日本一区二区免费在线观看视频| 亚洲特色特黄| 亚洲视频狠狠干| 欧美三级欧美一级| 成人黄色片在线| 97久久人人超碰caoprom| 亚欧洲精品在线视频免费观看| av高清久久久| 欧美成人免费播放| 欧美韩日一区二区三区| 精品国产一区二区三区久久狼黑人| 国产欧美精品va在线观看| 欧美另类极品videosbest最新版本| 国产精品久久久久久久久久新婚| 日韩一区二区电影在线| 一本大道久久精品懂色aⅴ| 欧美日韩国产高清一区| 成人影音在线| 国产欧美一区二区精品秋霞影院| 欧美性猛交xxxx富婆| 一本大道久久a久久综合婷婷| 亚洲天天在线日亚洲洲精| 久久久久久久综合狠狠综合| 超碰在线cao| 亚洲视频日本| 欧美日韩精品欧美日韩精品一综合| 亚洲人www| 国产丝袜高跟一区| 日韩av一区二区三区四区| 黄色精品免费看| 欧美日本一区二区视频在线观看| 色综合久久久久| 宅男噜噜噜66国产精品免费| 国产在线精品一区二区不卡了| 国产乱视频在线观看| 欧美人动性xxxxz0oz| 久久99视频免费| 日韩在线视频免费观看| 国产黄在线播放| 国产在线一区二区综合免费视频| 色中色综合影院手机版在线观看| 成人精品久久av网站| 国产日本一区二区三区| 亚洲精蜜桃久在线| 狠狠躁夜夜躁人人躁婷婷91| 自拍偷自拍亚洲精品被多人伦好爽| 欧美日韩高清在线| 成人天堂资源www在线| 欧美福利在线播放网址导航| 国产在线不卡| 成人网av.com/| 夜夜精品视频一区二区| 国产三级电影在线播放| 久久99精品久久久野外观看| 国产成人精品在线| 欧美色视频日本高清在线观看| 欧美一区二区色| 91chinesevideo永久地址| 欧美一区三区二区在线观看| 国产一区观看| 影音先锋中文在线视频| 91麻豆精品国产无毒不卡在线观看| 最新亚洲一区| 亚洲成人人体| 精品国产一区二区三区小蝌蚪| 久久深夜福利免费观看| 国产女人水真多18毛片18精品视频| 综合欧美一区二区三区| 91亚洲精品在线| 欧美性猛交xxxx黑人交| 亚洲国产一区二区久久| 亚洲美女少妇撒尿| 久久精品国产一区二区电影| 蜜桃一区二区三区| 久久久久久久久久久国产| 国产探花一区二区| 亚洲精品黑牛一区二区三区| 国产精品国产精品国产专区不蜜| 日韩欧美黄色影院| 日本精品一区二区三区高清 久久| 久久影院资源网| 欧洲精品码一区二区三区免费看| 成人a在线观看| 狠狠色丁香九九婷婷综合五月| 国产欧美日韩中文字幕在线| 精品日韩中文字幕| 在线观看欧美| 成人在线国产| 欧美黑人巨大xxxxx| 丁香婷婷久久久综合精品国产| 88国产精品欧美一区二区三区| 日韩av在线直播| 久久视频国产精品免费视频在线| 国产黄色在线观看| 国产日韩欧美综合精品| 久久精品一区二区三区四区| 天天亚洲美女在线视频| 99re8这里有精品热视频8在线| freemovies性欧美| 日韩欧美一区二区三区免费观看| 黄色成人小视频| 欧美中文字幕一区二区| 日本一区二区三区电影免费观看| 日韩伦理一区二区三区|