Vue CLI 3.0腳手架如何在本地配置mock數據

来源:https://www.cnblogs.com/beevesnoodles/archive/2018/11/27/10026751.html
-Advertisement-
Play Games

前後端分離的開發模式已經是目前前端的主流模式,至於為什麼會前後端分離的開發我們就不做過多的闡述,既然是前後端分離的模式開發肯定是離不開前端的數據模擬階段。 我們在開發的過程中,由於後臺介面的沒有完成或者沒有穩定之前我們都是採用模擬數據的方式去進行開發項目,這樣會使我們的前後端會同時的進行,提高我們的 ...


前後端分離的開發模式已經是目前前端的主流模式,至於為什麼會前後端分離的開發我們就不做過多的闡述,既然是前後端分離的模式開發肯定是離不開前端的數據模擬階段。

我們在開發的過程中,由於後臺介面的沒有完成或者沒有穩定之前我們都是採用模擬數據的方式去進行開發項目,這樣會使我們的前後端會同時的進行,提高我們的開發效率。

因為最近自己在自學 Vue 也在自己擼一個項目,肯定會遇到使用數據的情況,所以就想著如何在前端做一些 mock 數據的處理,因為自己的項目使用的是 vue/cli 3.0 與 vue/cli 2.0 的使用有一些的不同,所以在這裡記錄一下。

註意:本文主要說的是如何配置本地靜態文件的 mock 數據的方式

首先我們來說一說vue/cli 3.0 與 2.0 的一些不同:

  1. 3.0 移除了 static 文件目錄,新增了 public 目錄,這個目錄下的靜態資源不會經過 webpack 的處理,會被直接拷貝,所以我們能夠直接訪問到該目錄下的資源。
  2. 3.0 移除了 config、build 等配置目錄,如果需要進行相關配置我們需要在根目錄下創建 vue.config.js 進行配置即可。
  • 2.0 的文件結構
  • 3.0 的文件結構

可以看到 3.0 版本的腳手架在項目結構上精簡了很多,看上去沒有那麼的繁瑣。接下來我就進行 mock 數據的配置,再說 3.0 之前,我們先看看 2.0 的時候我們都是怎麼使用靜態數據文件進行 mock 的。

2.0 配置

首先,在這個版本是只有我們的 static 目錄下的文件是可以被訪問到的,所以我們就把靜態文件放入該目錄下。

// 靜態數據存放的位置
static/mock/home.json

我們啟動項目之後一般項目會啟動在 8080 埠,如果不是修改下對應埠號即可,我們訪問下麵地址:

http://localhost:8080/static/mock/index.json

我們可以看到我們的數據是可以請求到的,之後我們只需要在項目中 config/index.js 添加如下屬性:

dev: {
    // Paths fiddler charles
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/api': {
        target: 'http://localhost:8080',
        pathRewrite: {
          '^/api': '/static/mock'
        }
      }
    }
}

之後我們在項目中使用即可,我們就能獲取我們需要的數據。

axios
 .get('/api/index.json')
 .then(this.handler)

3.0 配置

因為 static 目錄移除,我們把靜態文件放入 public 文件下。

// 靜態數據存放的位置
public/mock/home.json

和上面一樣,啟動項目後我們看看數據能不能正常被訪問。

http://localhost:8080/mock/home.json

之後,不同的地方在於,我們需要手動創建一個 vue.config.js 文件放在根目錄下。

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:8080',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/mock'
        }
      }
    }
  }
}

配置完成之後,我們也是和上述一樣,在項目中直接訪問數據即可。

axios
 .get('/api/home.json')
 .then(this.handler)

總結

以上我們就學會瞭如何在 vue/cli 3.0 的項目中進行 mock 數據

如果你覺得本文對你有幫助,歡迎轉發,點贊

本文作者是個小白,如有不足,歡迎留言指正。


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

-Advertisement-
Play Games
更多相關文章
  • 我們在工作中可能會很少進行這樣的思考,對於一些常用的原生api它是如何實現的呢,如果讓我們去用js實現一個與原生api功能相同的函數我們該如何設計演算法去實現呢? 為了鞏固自己的編程技術和提高自己的編程技巧,也為了讓自己對js這門語言有更深刻的理解,我將會把平時開發常用到的各種原生api用自己的方式去 ...
  • 用padding-top百分比可以實現寬度固定高度按比例展示,現在的需求是對一個video視頻的盒子div高度是固定的,寬度如何按比例展示? 解決後效果如圖: 紅框標註的即是我在上面高度比例固定的範圍內寬度自適應的效果; css代碼: html: 由於視頻是有寬高比的,這裡給視頻的高度直接是外面盒子 ...
  • 我現在的需求是這樣的,我目前實現了一個div框,顯示文字,超出兩行顯示...,如果單行要保證垂直居中,我如果給容器使用display:flex;align-items:center;則當文字內容過多的時候會不上下文字有截斷; 現在效果如下: 解決方法: display:flex;垂直居中的是裡面元素 ...
  • 最近需要用 nodeJS 寫一個後臺程式,為了能夠獲得 IDE 的更多代碼提示,決定用 typescript 來編寫,隨便也學習下 ts,在這記錄下實現過程。 1、新建文件夾 typescript-koa-postgresql,初始化項目 2、安裝 typescript 3、配置 typescrip ...
  • 一、在所有的項目代碼編寫完成後,react項目直接部署是無法正常訪問的 1、問題一 網頁無法正常的瀏覽器刷新,刷新會報404錯,路由找不到頁面 2、問題二 路由跳轉後,瀏覽器後退按鈕點擊後,頁面不刷新 3、問題三 使用HashRouter的react項目會在路由的時候在路徑上添加/#,所以儘量使用B ...
  • 移動端選擇器picker有很多,各大ui組件都有自己的picker,比如light7,HUI,MUI,jqueryUI等等。但是,我發現他們都有各種各樣的問題。這次的地區選擇,需要地區的省份+市+經緯度,還要設置第一次點開的時候是特定城市。 demo:鏈接:https://pan.baidu.com ...
  • 例子: 頁面效果: 具體方法: 執行後的頁面效果: createDocumentFragment()方法,則是用了創建一個虛擬的節點對象,或者說,是用來創建文檔碎片節點。它可以包含各種類型的節點,在創建之初是空的。DocumentFragment節點不屬於文檔樹,繼承的parentNode屬性總是n ...
  • echarts 真的是個神奇的東西,最近做了一個需要點亮中國的移動端項目,前期就怎樣點亮中國做了調研,發現微博當初炫酷的點亮效果就是用echarts做的,於是研究了一下。 一連研究了一堆demo,不管從官網還是GitHub上面,大多demo的數據都是自己的格式,於是乎根據API自己研究了一下,把de ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...