vue.config.js 1.69 KB
/* eslint-disable indent */
const FilemanagerWebpackPlugin = require('filemanager-webpack-plugin')
const path = require('path')
// 匹配路径方法
const resolve = dir => path.join(__dirname, dir)

const BASE_URL = process.env.NODE_ENV === 'production' ? '' : '/'

const plugins =
  process.env.NODE_ENV === 'production'
    ? [
        new FilemanagerWebpackPlugin({
          onEnd: [
            { delete: [resolve('dist.zip')] },
            {
              archive: [
                { source: resolve('dist'), destination: resolve('dist.zip') }
              ]
            }
          ]
        })
      ]
    : []
module.exports = {
  lintOnSave: undefined,
  assetsDir: 'static',
  // 打包时不生成map文件,减少打包体积,加快打包速度
  productionSourceMap: false,
  // devServer: {
  //   https: true,
  //   inline: true,
  //   proxy: {
  //     '/chery': {
  //       target: process.env.VUE_APP_BASE_API
  //     }
  //     // '/': {
  //     //   bypass: devServerProxyBypass,
  //     //   secure: false,
  //     //   target: serverTarget,
  //     //   headers: {
  //     //     Host: new URL(serverTarget).host
  //     //   }
  //     // }
  //   }
  // },
  configureWebpack: {},
  chainWebpack: config => {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('_c', resolve('src/components'))
    // 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()
  }
}