在vue-cli搭建的項目中增加後臺mock介面

来源:http://www.cnblogs.com/kongxianghai/archive/2017/05/27/6912831.html
-Advertisement-
Play Games

用vue-cli搭建一個前端開發環境確實是極其方便,在寫前端代碼肯定也是少不了需要調用後臺提供的業務介面進行前後端交互,特別在敏捷開發中,前後端都要提前確定業務介面併進行打樁,在開發過程中基本是沒有現成的後臺可以調用,基本上都是自己寫mock進行模擬。 在vue-cli搭建的項目中,框架上用的是ex ...


用vue-cli搭建一個前端開發環境確實是極其方便,在寫前端代碼肯定也是少不了需要調用後臺提供的業務介面進行前後端交互,特別在敏捷開發中,前後端都要提前確定業務介面併進行打樁,在開發過程中基本是沒有現成的後臺可以調用,基本上都是自己寫mock進行模擬。

在vue-cli搭建的項目中,框架上用的是express的web框架,要做一個mock是很方便的。

 

假設前端頁面上需要獲取所有的新聞列表,那麼就需要mock一個能夠返回所有新聞列表數據的介面。

接下來就在項目中實現mock功能。

 

腳手架生成項目

執行命令用webpack模板生成一個名為vuestrap的項目(名字任意)

vue init webpack vue-mock-demo

 

在出現的各提示選項中,沒什麼要求,為了方便,把不用的ESLint,unit tests,e2e都關掉(這些選項都隨意)。

複製代碼
? Project name vuestrap
? Project description A Vue.js project
? Author 省略
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Setup unit tests with Karma + Mocha? No
? Setup e2e tests with Nightwatch? No
複製代碼

選項選完,項目也就生成了。

 

執行命令,安裝腳手架創建的組件

npm install

 

創建mock

和build、config等文件夾同級創建一個mock文件夾。

為了要mock一個獲取新聞列表的數據介面,我們在mock文件夾下創建一個名為“router-news.js”的文件。

其中的內容為:

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

//對所有新聞的get進行mock
router.get('/all', function(req, res, next) {
  //響應mock數據
  res.json([{
    title: 'news-title-1' ,
    content: 'news-content-1'
  },
  {
    title: 'news-title-2' ,
    content: 'news-content-2'
  }]);
});

module.exports = router;

這裡的完整url應該是“/mock/news/all”,在這裡只寫了“/all”子路徑。

 

在build/dev-server.js文件的頭部require區域,require上面寫的router。

var mockRouterNews = require('../mock/router-news')

 

最後,調用app.use將講url和router關聯。

app.use('/mock/news', mockRouterNews)

在這裡,通過將url的拆分,可以明確的把url進行處理的模塊化,一種業務可以交給對應的router進行響應處理,在使用app.use關聯所有的router的地方也能看得很清楚。

註意:

使用app.use關聯url和router的代碼一定要放在對“connect-history-api-fallback”組件的app.use前,否則關聯的url會被攔截掉,不會被mock的router正確響應。

 

執行

在命令行中執行命令運行項目。

npm run dev

 

運行後,在瀏覽器的地址欄中補上mock的url並訪問,就能看到mock的數據了,很方便。

 

代碼

 

End

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 圖片上傳預覽 ...
  • 內容簡介 本書共4部分,首先簡要介紹了React Native的開發基礎知識,然後介紹了React Native的API、組件以及Native擴展和組件的封裝,接著介紹了App的動態更新和上架過程,最後通過3個案例介紹瞭如何使用React Native開發原生App。作者簡介 王利華,vczero, ...
  • IE6IE7Firefox瀏覽器不相容原因及解決辦法 一、IE6IE7Firefox瀏覽器不相容原因及解決辦法1.文字 本身的大小不相容。同樣是font-size:14px的宋體文字,在不同瀏覽器下占的空間是不一樣的,ie下實際占高16px,下留白3px,ff下實際占高17px,上留白1px,下留白 ...
  • 直接上代碼: ...
  • 一個規範性強的代碼便於修改和理解,所以做出如下總結,希望少走彎路; 基礎內容,大神請繞道...................... 1.命名規範 命名一定要有意義,畢竟代碼寫下來不是給你一個人看的,在css中,在前面寫上父元素進行規範,不要偷懶 2.請不要一會寫原生,一會寫jquery 這個問題好 ...
  • Bootstrap 是最受歡迎的 HTML、CSS 和 JS 框架,用於開發響應式佈局、移動設備優先的 WEB 項目。 使用感覺簡約大氣便捷,扁平化設計。好多好多CSS、JS....總有你心儀的那一款!喜歡就上官網找,那裡更豐富呦! ...
  • 查看完整的代碼請到 我的github地址 https://github.com/qianyinghuanmie/vue2.0-demos 一、結果展示 二、前期準備: 1.引入漢字轉拼音的插件,利用NPM安裝 代碼指令為 npm install pinyin --save ,詳細步驟請到pinyin ...
  • 數組 數組的概念 當我們需要表示一組數據,或者叫做一次性定義很多相似的數字或變數時,就需要使用數組,數組的字面意思就是一組數據,一組(一般情況下相同類型)的數據(不一定都是數字),數組的作用是:使用單獨的變數名來存儲一系列的值。 遍曆數組: 普通for迴圈 for(var i=0; i<5; i++ ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...