
$ npm i -g @quasar/cli
$ npm init quasar
√ What would you like to build? » App with Quasar CLI, let's go!
√ Project folder: ... quasar-test-pro20220627
√ Pick Quasar version: » Quasar v2 (Vue 3 | latest and greatest)
√ Pick script type: » Typescript
√ Pick Quasar App CLI variant: » Quasar App CLI with Vite
√ Package name: ... quasar-test-pro20220627
√ Project product name: (must start with letter if building mobile apps) ... Quasar App
√ Project description: ... xiaojin love code
√ Author: ... xiaojin
√ Pick a Vue component style: » Composition API
√ Pick your CSS preprocessor: » Sass with SCSS syntax
√ Check the features needed for your project: » ESLint, State Management (Pinia), Axios, Vue-i18n
√ Pick an ESLint preset: » Airbnb
// 避免循环依赖
if (XHR) XHR.Mock = Mock
/*
* Mock.mock( template )
* Mock.mock( function() )
* Mock.mock( rurl, template )
* Mock.mock( rurl, function(options) )
* Mock.mock( rurl, rtype, template )
* Mock.mock( rurl, rtype, function(options) )
根据数据模板生成模拟数据。
*/
Mock.mock = function(rurl, rtype, template) {
// Mock.mock(template)
if (arguments.length === 1) {
return Handler.gen(rurl)
}
// Mock.mock(rurl, template)
if (arguments.length === 2) {
template = rtype
rtype = undefined
}
// 拦截 XHR
if (XHR) window.XMLHttpRequest = XHR
Mock._mocked[rurl + (rtype || '')] = {
rurl: rurl,
rtype: rtype,
template: template
}
return Mock
}
npm i mockjs -D
npm i vite-plugin-mock -D
// mockProdServer.ts
import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer';
// 逐一导入您的mock.ts文件
// 如果使用vite.mock.config.ts,只需直接导入文件
// 可以使用 import.meta.glob功能来进行全部导入
import testModule from './source/login';
export function setupProdMockServer() {
createProdMockServer([...testModule]);
}
import { MockMethod } from 'vite-plugin-mock';
export default [
{
url: '/api/getUserInfo',
method: 'get',
response: () => 'hello world and get mockData',
},
] as MockMethod[]; // 定义数据格式的
// mock--start
import { setupProdMockServer } from '../../mock/index.ts';
// if (process.env.NODE_ENV === 'production') {
setupProdMockServer();
// }
// mock--end
boot: [
'mock', // 如果不使用mock,可以注释掉
],
<template>
<h2 @click="go">点击这一行字,就会得到mock结果</h2>
<h2>{{testMock}}</h2>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
import axios from 'axios';
export default defineComponent({
name: 'App',
setup() {
const testMock = ref('');
function go() {
axios.get('/api/getUserInfo').then((_) => {
console.log('获取结果', _);
testMock.value = JSON.stringify(_);
});
}
go();
return {
go,
testMock,
};
},
});
</script>
好啦,执行一下代码看一下


这里还有一个可以参考的其他文章
创建一个boot启动文件来注入全局的filter
https://www.cnblogs.com/baiyifengyun/p/13967200.html
欢迎大家指出文章需要改正之处~
学无止境,合作共赢
