vue.config.js 1.56 KB
const fs = require("fs");
const vinfopath = "./public/js/version.json";
const BuildInfo = require("./version.js");
console.log(BuildInfo);
const BundleAnalyzerPlugin = require("webpack-bundle-analyzer")
  .BundleAnalyzerPlugin;

module.exports = {
  lintOnSave: false,
  publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
  // ...
  css: {
    loaderOptions: {
      sass: {
        prependData: '@import "@/assets/scss/common.scss";'
      }
    }
  },
  chainWebpack: config => {
    if (process.env.use_analyzer) {
      // 分析
      config
        .plugin("webpack-bundle-analyzer")
        .use(require("webpack-bundle-analyzer").BundleAnalyzerPlugin);
    }
    if (process.env.NODE_ENV === "production") {
      var verinfo = fs.openSync(vinfopath, "w+");
      var options = { encoding: "UTF-8", mode: 438 /*=0666*/, flag: "w" };
      fs.writeFileSync(verinfo, JSON.stringify(BuildInfo), options);
    }
  },
  pluginOptions: {
    // 第三方插件配置
  },
  devServer: {
    proxy: {
      "/api": {
        target: "http://vion-panda.51vip.biz:52510", // 要访问的接口域名
        ws: true, // 是否启用websockets
        changeOrigin: true, //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
        pathRewrite: {
          "^/api": "" //这里理解成用'/api'代替target里面的地址,比如我要调用'http://40.00.100.100:3002/user/add',直接写'/api/user/add'即可
        }
      }
    }
  }
};