Vue プロジェクトで mock を使用する方法をご存知ですか?

Vue プロジェクトで mock を使用する方法をご存知ですか?

Mock.jsは、フロントエンド開発者がバックエンドから独立して開発し、ユニットテストを記述できるように設計されたモック データ ジェネレーターです。以下のシミュレーション機能が提供されます。

  • データテンプレートに基づいてシミュレートされたデータを生成する
  • Ajax リクエストをシミュレートし、シミュレートされたデータを生成して返します。
  • HTMLテンプレートに基づいて模擬データを生成する

最初のステップ:

npm install mockjs // mockjs をインストール
npm インストール axios

2 番目のステップは、request.js で関連する構成を行うことです。request.js コードは次のとおりです。

'axios' から axios をインポートします
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-urlencoded'
定数 http = axios.create()
 http.defaults.timeout = 3000
 http.interceptors.request.use(config => { // リクエストインターセプターの設定 // オプション // 何かを行う
    設定を返す
}, エラー => {
    コンソール.log(エラー)
    Promise.reject(error) を返します。
})
 http.interceptors.response.use(response => { // レスポンスインターセプターの設定 // オプション // 何かを行う
    応答を返す
}, エラー => {
    コンソール.log(エラー)
    Promise.reject(error) を返します。
})
 export function fetch(url, params) { // axios の post リクエストをカプセル化します return new Promise((resolve, reject) => { // Promise の使用方法については、axios.post(url, params).then(response => { を参照してください。
            resolve(response.data) // プロミス関連}).catch(error => {
            拒否(エラー) // プロミス関連})
    })
}
 export default { // 次のページで使用される htto_mock メソッドを公開します http_mock(url, params) {
        フェッチを返す(url, params)
    }
}

3 番目のステップは、mock.js で関連する構成を実行することです。mock.js コードは次のとおりです。

'mockjs' から Mock をインポートします。
 const ランダム = Mock.ランダム
 var listData = 関数() {
    _data = {とする
        ステータス: 200、
        メッセージ: '成功'、
        データ: {
            合計: 100,
            '行|10': [{
            ID: '@guid',
            名前: '@cname',
            '年齢|20-30': 23,
            'job|1': ['フロントエンドエンジニア'、'バックエンドエンジニア'、'UIエンジニア'、'要件エンジニア']
            }]
        }
    }
    {_data} を返す
}
// url はインターセプトされるリクエスト アドレス、リクエスト メソッド、リクエスト データ (ルール) です (ここでの api は mockjs によってインターセプトされます)
モック.モック('http://route.showapi.com/60-27', 'post', listData())
 

4番目のステップは、mock.jsをmain.jsにインポートすることです。

'@/http/mock' からモックをインポートします

ステップ5: ページで使用する

'@/http/request' からリクエストをインポートします
 エクスポートデフォルト{
    名前: "FirstPage",
    作成された() {
        この.getData()
    },
    メソッド: {
        取得データ() {
             // http_mock を使用してリクエストを送信するふりをします (mock はリクエストを自動的にインターセプトしてデータを生成します)
   // ここでの最初のパラメータは、Mock.mock() の最初のパラメータと一致している必要があります console.log('Request started')
            リクエスト.http_mock('http://route.showapi.com/60-27','api_id=63114&api_sign=3847b0').then(レスポンス => {
            コンソール.log(レスポンス._data)
            })
       },
    }
}

効果は以下のとおりです。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue プロジェクトにおける mock.js の使用と基本的な使い方
  • Vue プロジェクトで mock.js を使用するための完全な手順
  • vue-cliのローカル開発でモックデータを利用する方法の詳しい説明
  • Vue で開発環境でモックを制御し、本番環境で無効にする方法

<<:  フロートとBFCをクリアするCSSメソッド

>>:  MySQL の問題を解決する: MSVCR120.dll が見つからないため、コードの実行を続行できません

推薦する

Centos システムの指定された場所に Nginx をインストールする方法

Centos システムの指定された場所に Nginx をインストールするにはどうすればいいですか?は...

MySQL sql_mode の変更が有効にならない理由と解決策

目次序文シナリオシミュレーション要約する序文最近、sql_mode の話題については何度も話し合われ...

DockerはMariaDBのサブライブラリとサブテーブル、および読み書き分離機能を実装します

目次1. はじめに2. 環境整備1. 基本環境3.Mysqlマスタースレーブ構成をインストールする1...

TypeScript 列挙型

目次1. 概要2. デジタル列挙2.1 逆マッピング3. 文字列の列挙4. const列挙5. まと...

MYSQLの文字セット設定方法(端末の文字セット)の詳しい説明

序文ターミナルを使用してデータベースまたはテーブルを作成するたびに、文字セットが latin1 であ...

CSS3を使用して背景画像の色を変更するさまざまな方法

CSS3 では画像の色を変更できます。これからは複数の絵をデザインする必要がなくなり、いつでも修正で...

MySql マスタースレーブレプリケーションメカニズムの包括的な分析

目次マスタースレーブレプリケーションメカニズム非同期レプリケーション準同期レプリケーションマスタース...

jsは画像切り取り機能を実現する

この記事の例では、画像の切り取りを実現するためのjsの具体的なコードを参考までに共有しています。具体...

HTMLのposition属性の使い方(4種類)の詳しい説明

位置の 4 つのプロパティ値は次のとおりです。 1.相対的な2.絶対3.修正4.静的これら 4 つの...

Linuxの運用・保守の基礎知識から上級者向け知識までをまとめました

運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...

CSSの省略記号とパディングを組み合わせた場合の問題の詳細な説明

CSS によるテキストの切り捨てテキストを自動的に切り捨てるスタイル コードを実装するには、次のコー...

VMWARE で Centos8 仮想マシンをコピーすることによって発生する IP 損失の問題の解決策

VMwareでcentos8サービスをインストールしてコピーすると、次の問題が発生します。 コピー前...

Linux yum コマンドを使用して mysql8.0 をインストールする方法の詳細なチュートリアル

1. 設置前によく掃除する rpm -pa | grep mysql または rpm -qa | g...

IntelliJ IDEA で Java を使用して MySQL データベースに接続する方法の詳細な説明

1. MySQLデータベースをダウンロードし、インストールして設定するダウンロードアドレス: htt...