浏览代码

vue.config.js

quwangxin 3 年之前
父节点
当前提交
3a00bb88fe
共有 1 个文件被更改,包括 95 次插入0 次删除
  1. 95 0
      vue.config.js

+ 95 - 0
vue.config.js

@@ -0,0 +1,95 @@
+const CompressionWebpackPlugin = require('compression-webpack-plugin');
+const { transformElementScss } = require('ele-admin/lib/utils/dynamic-theme');
+const path = require('path');
+const { name } = require('./package.json');
+
+function resolve (dir) {
+  return path.join(__dirname, dir);
+}
+
+module.exports = {
+  publicPath: '/aps',
+  lintOnSave: false,
+  productionSourceMap: false,
+  configureWebpack: {
+    performance: {
+      maxAssetSize: 2000000,
+      maxEntrypointSize: 2000000
+    },
+    output: {
+      // 把子应用打包成 umd 库格式
+      library: {
+        type: 'umd',
+        name: `${name}`
+      },
+
+      chunkLoadingGlobal: `webpackJsonp_${name}`
+    }
+  },
+  devServer: {
+    // 代理跨域的配置
+    proxy: {
+      // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
+      '/api': {
+        // target: 'http://192.168.3.35:8080', // kang杨威
+        // target: 'http://192.168.3.25:8080', // 黄峥嵘
+        // target: 'http://192.168.3.41:8080', // 何江鹏
+        // target: 'http://192.168.3.33:8080', // 谢一平
+        target: 'http://192.168.3.51:18086', // 测试环境
+
+        changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
+        pathRewrite: {
+          '^/api': ''
+        }
+      }
+    }
+  },
+  chainWebpack (config) {
+    config.plugins.delete('prefetch');
+    // set svg-sprite-loader
+    // config.module.rule('svg').exclude.add(resolve('./src/icons')).end();
+    // config.module
+    //   .rule('icons')
+    //   .test(/\.svg$/)
+    //   .include.add(resolve('./src/icons'))
+    //   .end()
+    //   .use('svg-sprite-loader')
+    //   .loader('svg-sprite-loader')
+    //   .options({
+    //     symbolId: 'icon-[name]'
+    //   })
+    //   .end();
+    config.module.rule('svg').exclude.add(resolve('src/icons')).end();
+    config.module
+      .rule('icons')
+      .test(/\.svg$/)
+      .include.add(resolve('src/icons'))
+      .end()
+      .use('svg-sprite-loader')
+      .loader('svg-sprite-loader')
+      .options({
+        symbolId: 'icon-[name]'
+      })
+      .end();
+
+    if (process.env.NODE_ENV !== 'development') {
+      // gzip 压缩
+      config.plugin('compressionPlugin').use(
+        new CompressionWebpackPlugin({
+          test: /\.(js|css|html)$/,
+          threshold: 10240
+        })
+      );
+    }
+  },
+  css: {
+    loaderOptions: {
+      sass: {
+        sassOptions: {
+          outputStyle: 'expanded',
+          importer: transformElementScss()
+        }
+      }
+    }
+  }
+};