前言
為了模擬項目上線,我們就需要一個服務器去提供API給我們調用數據。這次我采用express框架去寫API接口。所有請求都是通過ajax請求去請求服務器來返回數據。第一次用node寫后端,基本就是摸著石頭的過河,文中有什么不足不處歡迎指出。
安裝express框架
傳送門: express官方
然后介紹一下需要引入的中間件,node本身提供了一些庫。我們可以直接通過require去引用,對于未提供的庫,我們也可以通過手動npm去安裝
接下來直接啟用模塊
準備工作做完可以開始動手寫接口了。關于數據庫可以模擬一個json,也可以真實模擬上線數據庫。
下面會劃成3塊說明——數據庫的對接、請求的操作、文件請求的操作。
數據庫連接
這里我假設你已經安裝了mongodb數據庫并成功啟用。仔細閱讀express教程你會發現框架提供了對mongodb的支持,mongodb有非常多的擴展插件去使用該數據庫 比如mongoose。這里我們使用express官方提供的mongoskin來鏈接數據庫。
安裝成功后 ,我們就首先把使用的數據庫引入,代碼如下
以上代碼表示我們成功連接了blog數據庫并且啟用了私有ID,objectID是mongodb生成數據自動添加的ID。可以直接拿來用。到這里數據庫和服務器就已經對接完畢了。
對前端發送的請求進行處理
處理get請求
以上代碼就實現了對一個get請求的處理,通過參數模塊獲取了url的參數,db也就是已經連接的數據庫。根據ID對‘articleList'的數據表進行搜索,處理完畢后 通過res.end()返回數據結束響應。
處理post請求
post請求的參數獲取和get不同 可以直接通過req.body去獲取前端傳輸的請求體。通過js對象的方式去獲取參數。然后根據參數執行數據庫操作。到此,基本的請求也就介紹完畢了。下面說下怎么處理圖片的上傳此類常見的文件操作需求。
對前端的文件請求進行處理
為了簡化操作,我們可以引入multer模塊來處理文件,代碼如下
以上代碼就成功引入了文件上傳模塊,通過該模塊我們可以快速生成相應內容,具體使用方法可以查看官方文檔。準備工作完成后,在項目中使用:
這里上傳圖片我們就直接使用了直接之前已經寫好的upload模塊,當該接口請求成功時 ,文件就已經上傳成功了,如果你需要一個預覽過程,那不應該直接調用上傳接口 。通過原生node fs模塊 我們也能對添加的文件進行刪除,修改操作。
上線以及上線后遇到的history模式的刷新問題
上線過程我們可以當作就是換一臺電腦跑程序,這里我用的是阿里云的服務器。在云服務器安裝好環境好,把項目克隆進去 ,再裝個forever之類的永久運行庫,start ~ok 這樣你的項目就永遠在運行了。如果需要www訪問 ,還需要買個dns解析 和域名,指向你的服務器。
以上我們如果在本地跑項目基本已經可以沒問題。但項目上線后一刷新。啊啦??404什么鬼?打開百度一查。那爐火多~~當前端啟用hisory模式,后臺也必須開啟對history的支持。express 環境如下:
更新代碼刷新~OK 完美!
總結
想學好一樣東西,需要長久的積累。作為一個前端,一些服務器數據庫的知識除了可以幫助我們更好的跟兄弟(后端)交流,對前端來說也是如魚得水一般的存在。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com