vue.config.js请求数据

Posted web-gmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue.config.js请求数据相关的知识,希望对你有一定的参考价值。

vue.config.js
let mockData = require("./mockData");
module.exports = 
  lintOnSave: false, // 是否开启ESLint
  devServer: 
    before(app) 
      // app express提供的
      mockData(app);
    
  ,
  productionSourceMap: false // 不产生sourcemap文件
;

建立mockData/index.js
function mockData(app) 
  app.get("/slider", (req, res) => 
    setTimeout(() => 
      res.json([
        
          url: "http://www.didichuxing.com/",
          image:
            "//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png"
        ,
        
          url: "http://www.didichuxing.com/",
          image:
            "//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png"
        ,
        
          url: "http://www.didichuxing.com/",
          image:
            "//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png"
        
      ]);
    , 2000);
  );

module.exports = mockData;

api/home.js
// 首页接口
import Ajax from "../util/request"; // 封装请求
// 轮播图接口
export const getSliders = () =>
  Ajax.request(
    url: "/slider"
  );
export default ;

store/module/home.js
import * as Types from "../mutations-types";
import  getSliders  from "../../api/home";
export default 
  namespaced: true,
  state: 
    sliders: []
  ,
  actions: 
    async [Types.SET_SLIDER]( commit ) 
      try 
        const sliders = await getSliders();
        commit(Types.SET_SLIDER, sliders);
       catch (error) 
        console.log(error);
      
    
  ,
  mutations: 
    // mutations 只用来修改state状态
    [Types.SET_SLIDER](state, payload) 
      state.sliders = [...payload];
    
  
;

组件使用Home.vue
<template>
  <div class="home">
    <!-- 轮播图 -->
    <cube-slide :data="sliders" />
  </div>
</template>
<script>
import * as Types from "../store/mutations-types";
import  createNamespacedHelpers  from "vuex";
const  mapActions, mapState  = createNamespacedHelpers("home");
export default 
  name: "home",
  created() 
    // 异步请求 不需要被监控的数据 初始化数据
    // this.$store.dispatch(`home/$Types.SET_SLIDER`);
    this[Types.SET_SLIDER]();
  ,
  computed: 
    ...mapState(["sliders"])
  ,
  methods: 
    ...mapActions([Types.SET_SLIDER])
  
;
</script>

以上是关于vue.config.js请求数据的主要内容,如果未能解决你的问题,请参考以下文章

Vue技术点整理-vue.config.js

vue.config.js中proxy配置

Vue-cli3.0项目下axios请求本地json文件的数据

Vue2使用axios,request.js和vue.config.js

vue.config.js的proxy为啥不起作用

vue3跨域请求