vue-cli + axios + element + mockjs | json-server (没有最全只有更全)

一、vue-cli创建项目

1.1 安装cli脚手架

npm install -g @vue/cli
或者使用 yarn 
yarn global add @vue/cli

可使用命令来检查其版本是否正确

vue --version

1.2 使用cli脚手架创建项目

1.创建一个新项目

vue create vue-cli-demo

2.创建选择

  • clean-front : 是以前保存的配置 选择可快速创建(推荐)
  • Default : 默认配置(不推荐)
  • Default (Vue 3 Preview) : 默认推荐vue3.0的配置(不推荐)
  • Manually select features : 手动选择配置(推荐)在这里插入图片描述
    在此选择手动选择选项(上下左右键进行移动,space空格键进行选中 or 取消选中 ,enter回车键进行确认选择)

3.功能选择
在这里插入图片描述

根据个人需要进行选择,图示为我所选择的

4.选择vue.js的版本(推荐2.x)
在这里插入图片描述
5.选择路由模式(根据需要进行选择)
在这里插入图片描述
6.选择一个CSS预处理器
在这里插入图片描述
7.配置文件放在哪(推荐package.json)
在这里插入图片描述

8.是否将本次配置保存
在这里插入图片描述
创建完成,如图所示:
在这里插入图片描述

cd vue-cli-demo // 目录切换至该项目
yarn serve 启动项目

至此,使用cli创建项目就完成了。此时并不会自动打开网页,需手动打开http://localhost:8080/

看个人需求,我在此处选择不保存
如果保存,即如前面展示的 我的 clean-front 配置

二、使用element-ui 及 axios

2.1 使用element-ui

在vue里,使用element有一个简单的方式,如下:

vue add element

How do you want to import Element?
你想如何引入ELement?

推荐选择:
Fully import

Do you wish to overwrite Element’s SCSS variables?
你希望覆盖Element的SCSS变量吗

推荐选择:
yes

Choose the locale you want to load ?
选择要加载的区域设置

推荐选择:
zh-CN

此时,会自动安装element并且会自动帮你将element引入项目的main.js,如下:
在这里插入图片描述

2.2 使用axios

与element的方法一致.如下:

vue add axios

自动引入项目的main.js:
在这里插入图片描述

注意:
如果遇到以下报错,不用慌。这是因为你开启了eslint规范,由于过于严谨,导致错误提醒
在这里插入图片描述
解决方案:
在package.json文件中添加如下代码,然后重新运行安装axios的指令,且运行项目

"rules": {
	"generator-star-spacing": "off",
	"no-tabs":"off",
	"no-unused-vars":"off",
	"no-console":"off",
	"no-irregular-whitespace":"off",
	"no-debugger": "off"
},

三、模拟数据( mockjs | json-server )

3.1 使用json-server

  1. 安装json-server

npm i -S json-server

  1. 创建***.json文件
    在这里插入图片描述
  2. 在package.json里添加运行指令

“json”: “json-server --watch ./src/db.json --port 3000”
在这里插入图片描述

  1. 运行指令

npm run json

运行成功。可打开该链接查看数据
在这里插入图片描述

5.配置代理
根目录创建vue.config.js文件

module.exports = {
  devServer: {
    port: 8090,
    open: true,
    proxy: {
      "/jsonApi": {
        target: "http://localhost:3000",
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          "/jsonApi": "",
        },
      },
    },
  },
};
  1. 发送请求
 this.$axios
      .get("/jsonApi/infomation")
      .then(res => {
        console.log("res", res);
      })
      .catch(err => {
        console.log("err", err);
      })
      .finally(() => {
        console.log("finally");
      });

注意:
当修改了数据文件之后,必须重新启动

yarn json
yarn serve

3.2 使用mockjs

  1. 安装mockjs

npm i -S mockjs

2.1 创建文件 方式一:

/src /mock /index.js

//引入mockjs
const Mock = require("mockjs");
// 获取 mock.Random 对象
const Random = Mock.Random;
//使用mockjs模拟数据
Mock.mock("/api/data", (req, res) => {
  //当post或get请求到/api/data路由时Mock会拦截请求并返回上面的数据
  let list = [];
  for (let i = 0; i < 30; i++) {
    let listObject = {
      title: Random.csentence(5, 10), //随机生成一段中文文本。
      company: Random.csentence(5, 10),
      attention_degree: Random.integer(100, 9999), //返回一个随机的整数。
      photo: Random.image("114x83", "#00405d", "#FFF", "Mock.js"),
    };
    list.push(listObject);
  }
  return {
    data: list,
  };
});

2.2 创建文件 方式二:
/src /mock/ login.js

const login = (params)=>{
	return {
		code:0,
		msg:'登录成功!'
	}
}
export { login }

/src /mock /index.js

import Mock from "mockjs";
import { login } from "./login.js";

Mock.mock(/\/loginApi/,'get',login)

  1. 在mian.js里全局引入使用
import Vue from 'vue'
import './plugins/axios'
import App from './App.vue'
import router from './router'
import store from './store'
import './plugins/element.js'

require('./mock') // 引入mock模拟数据

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
  1. 发送请求
this.axios
      .get("/api/data")
      .then(res => {
        //get()中的参数要与mock.js文件中的Mock.mock()配置的路由保持一致
        this.data = res.data.data;
        console.log(res.data); //在console中看到数据
      })
      .catch(res => {
        alert("wrong");
      });

至此,就暂时告一段落啦~

有问题欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值