vue cli3配置vue.config.js

//vue.config.js文件配置內容
const proxy = require('http-proxy-middleware');
module.exports = {
  /** 區分打包環境與開發環境
   * process.env.NODE_ENV==='production'  (打包環境)
   * process.env.NODE_ENV==='development' (開發環境)
   * baseUrl: process.env.NODE_ENV==='production'?"https://cdn.didabisai.com/front/":'front/',
   */
  // 項目部署的基礎路徑
  // 我們默認假設你的應用將會部署在域名的根部,
  // 例如 https://www.my-app.com/
  // 如果你的應用部署在一個子路徑下,那麼你需要在這裏
  // 指定子路徑。比如將你的應用部署在
  // https://www.foobar.com/my-app/
  // 那麼將這個值改爲 '/my-app/'
  assetsDir: process.env.NODE_ENV !== "production" ? "./xnvue" : "../xnvue",
  publicPath: "./", // 構建好的文件輸出到哪裏
  outputDir: process.env.NODE_ENV !== "production" ? "./pro" : "../pro", // where to put static assets (js/css/img/font/...) // 是否在保存時使用‘eslint-loader’進行檢查 // 有效值: true | false | 'error' // 當設置爲‘error’時,檢查出的錯誤會觸發編譯失敗
  lintOnSave: true, // 使用帶有瀏覽器內編譯器的完整構建版本 // https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only
  runtimeCompiler: false, // babel-loader默認會跳過`node_modules`依賴. // 通過這個選項可以顯示轉譯一個依賴
  transpileDependencies: [
    /* string or regex */
  ], // 是否爲生產環境構建生成sourceMap?

  productionSourceMap: false, // 調整內部的webpack配置. // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
  chainWebpack: () => {},
  configureWebpack: () => {}, // CSS 相關選項
  css: {
    // 將組件內部的css提取到一個單獨的css文件(只用在生產環境)
    // 也可以是傳遞給 extract-text-webpack-plugin 的選項對象
    extract: true, // 允許生成 CSS source maps?
    sourceMap: false, // pass custom options to pre-processor loaders. e.g. to pass options to // sass-loader, use { sass: { ... } }
    loaderOptions: {}, // Enable CSS modules for all css / pre-processor files. // This option does not affect *.vue files.
    requireModuleExtension: true,
  }, // use thread-loader for babel & TS in production build // enabled by default if the machine has more than 1 cores

  parallel: require("os").cpus().length > 1, // PWA 插件相關配置 // see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa

  pwa: {}, // configure webpack-dev-server behavior
  devServer: {
    open: process.platform === "darwin",
    disableHostCheck: false,
    host: "0.0.0.0",
    port: 8088,
    https: false,
    hotOnly: false, // See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#configuring-proxy
    proxy: { //跨域請求
      "/api": {
        target: "http://www.baidu.com", //設置調用的接口域名和端口
        changeOrigin: true,
        pathRewrite: {
          "^/api": "",
        },
      },
    },
    // before: app => {}
  }, // 第三方插件配置

  pluginOptions: {
    // ...
  },
};

//接口請求中使用 api.js中使用
import axios from "axios";
axios.defaults.timeout = 600 * 1000;
axios.defaults.headers = {
  "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
// const baseURL = 'http://xnfn.dfs168.com';
const baseURL = process.env.VUE_APP_ROOT; //定義的環境變量 .env.development(開發環境)/.env.production(生成環境)
const server = {};
// var	baseData = {
//   "token": "9acb14458890426d52e51961eec13f0a",
// };
// var headers = Object.assign(axios.defaults.headers,baseData);

server.get = function(url, data) {
  return axios({
    method: "get",
    url: url,
    params: data,
    // headers: headers
  })
  .then(function(response) {
    return response.data;
  })
  .catch(function(error) {
    return error;
  });
};

server.post = function(url, data) {
  return axios({
    method: "post",
    url: url,
    data: data,
    transformRequest: [
      function(data) {
        let ret = "";
        for (let it in data) {
          ret +=
            encodeURIComponent(it) + "=" + encodeURIComponent(data[it]) + "&";
        }
        return ret;
      },
    ],
  })
  .then(function(response) {
    return response.data;
  })
  .catch(function(error) {
    return error;
  });
};

var _v1 = +new Date();

export default {
  common: {
    getConfig: (params) => {
      return server.get(baseURL + "/wechat/config?_v=" + _v1, params);
    }, //config配置文件
    getAuth: (params) => {
      return server.get(baseURL + "/wechat/auth?_v=" + _v1, params);
    }, //獲取taken
    getUserInfo: (params) => {
      return server.get(baseURL + "/wechat/info?_v=" + _v1, params);
    }, //獲取用戶信息
  },
};

//.env.development文件和vue.config.js同級 開發環境
VUE_APP_ROOT = /api
//.env.production文件和vue.config.js同級 生產環境
VUE_APP_ROOT = 

//注:環境變量配置賦值時,等於號後的全部支付爲變量被賦予的值,變量命名默認VUE_APP_xx開頭,自定義需修改配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章