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 が見つからないため、コードの実行を続行できません

推薦する

Docker データボリュームコンテナの作成と使用状況分析

データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...

オブジェクト内のフィールドを削除する js メソッド

この記事では主に、オブジェクト内のフィールドを削除するための js の実装を紹介し、次のように共有し...

基本的な HTML ディレクトリの問題 (相対パスと絶対パスの違い)

相対パス - ファイルを参照する Web ページの場所に基づいて確立されたディレクトリ パス。そのた...

CSSプロパティに基づいたボタンホバーボーダーと背景アニメーションのコレクション

ハートの属性不透明度: .999 は要素のスタッキングコンテキストを作成し、ボタン6と8のアニメーシ...

HTMLでのラジオ値の取得、割り当て、登録の詳細な説明

1. ラジオのグループ化名前が同じであれば、それらはグループであり、つまり、次のようにグループ内で選...

MySQL 8.0.18コマンドの詳細な説明

解凍したフォルダ C:\web\mysql-8.0.11 を開き、フォルダ内に my.ini 構成フ...

MySQL 5.7 インストール不要の設定グラフィックチュートリアル

Mysql は人気があり、使いやすいデータベース ソフトウェアです。以下は、mysql の無料インス...

NGINXがウェブサイトのPV、UV、独立IPをカウントする方法の詳細な説明

Nginx: PV、UV、独立IPウェブサイトを作成する人なら誰でも、ウェブサイトのPV、UV、その...

MySQL のキーとインデックスの違い

まずはコードを見てみましょう: ALTER TABLE reportblockdetail ADD ...

MySQLのロックについて理解しておくべきこと

1. はじめにMySQL ロックは、その範囲に応じて、グローバル ロック、テーブル ロック、行ロック...

get メソッドによる HTML フォームの値転送の例

google.htmlインターフェースは図の通りですコードは図のとおりです: (比較的シンプルで、入...

CSS3実践手法のまとめ(推奨)

1. 丸い境界線: CSSコードコンテンツをクリップボードにコピー境界線の半径: 4px ; 2....

Vueでパスワードの表示と非表示機能を実装するアイデアを詳しく解説

効果: アイデア:入力タイプ属性を使用して、タイプ値がテキストの場合はパスワードを表示し、タイプ値が...

Vue 初心者ガイド: 最初の Vue-cli スキャフォールディング プログラムの作成

1. Vue - 最初の vue-cli プログラムVueの開発はNodeJSに基づいています。実際...