利用vue.config.js 配置前端模擬接口技巧


有時候我們在開發學習過程中需要數據接口時  在vue腳手架項目中我們有個技巧 可以在vue.config.js中加一項配置

 

webpack的devServer.before 可以提供了一個在 devServer 內部的 所有中間件執行之前的自定義執行函數。
故:可以采用此方法來模擬后台數據接口。

 

module.exports = {
  // 部署生產環境和開發環境下的URL。
  // 默認情況下,Vue CLI 會假設你的應用是被部署在一個域名的根路徑上
  // 例如 https://www.heji.vip/。如果應用被部署在一個子路徑上,你就需要用這個選項指定這個子路徑。例如,如果你的應用被部署在 https://www.heji.vip/admin/,則設置 baseUrl 為 /admin/。
  publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
  // 在npm run build 或 yarn build 時 ,生成文件的目錄名稱(要和baseUrl的生產環境路徑一致)(默認dist)
  outputDir: 'dist',
  // 用於放置生成的靜態資源 (js、css、img、fonts) 的;(項目打包之后,靜態資源會放在這個文件夾下)
  assetsDir: 'static',
  // 是否開啟eslint保存檢測,有效值:ture | false | 'error'
  lintOnSave: process.env.NODE_ENV === 'development',
  // 如果你不需要生產環境的 source map,可以將其設置為 false 以加速生產環境構建。
  productionSourceMap: false,
  // webpack-dev-server 相關配置
  devServer: {
    host: '0.0.0.0',
    port: port,
    open: true,
    proxy: {
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        target: `http://localhost:8080`,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
        }
      }
    },
    before(app) {
        app.get('/api/goods', function (req,res) {
            res.json({
                type:0,
                data:{
                    name:"123",
                    job:"web"
                }
            })
        })
    },
    disableHostCheck: true
  },

 

  before(app) {
                app.get('/api/goods', function (req,res) {
                    res.json({
                        type:0,
                        data:{
                               name:"123",
                               job:"web"
                         }
                    })
                })
    },

在組件中調用

import axios from 'axios' 

axios.get('/api/goods').then(function (response) {
           console.log(''.concat(response));
         }).catch(function (error) {
           alert(error);
         });

返回數據結構

 

完成了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM