vite 配置打包之后去掉console 和 debugger

vite 配置打包之后去掉console 和 debugger_第1张图片

import { defineConfig } from 'vite'
import { resolve } from 'path'
import vue from '@vitejs/plugin-vue'
import { viteMockServe } from 'vite-plugin-mock'
import viteSvgIcons from 'vite-plugin-svg-icons'

// https://vitejs.dev/config/
export default defineConfig(({ command }) => {
  const prodMock = true
  return {
    base: '/', // 开发或生产环境服务的 公共基础路径。
    plugins: [
      vue(),
      viteMockServe({
        supportTs: false,
        mockPath: 'mock',
        localEnabled: command === 'serve',
        prodEnabled: command !== 'serve' && prodMock,
        injectCode: `
          import { setupProdMockServer } from './mockProdServer';
          setupProdMockServer();
        `
      }),
      viteSvgIcons({
        // 指定需要缓存的图标文件夹
        iconDirs: [resolve(process.cwd(), 'src/icons')],
        // 指定symbolId格式
        symbolId: 'icon-[dir]-[name]'
      })
    ],
    resolve: {
      alias: {
        '@': resolve('./src'),
        '@img': resolve('./src/assets/img')
      }
    },
    // 打包配置
    build: {
      // 设置最终构建的浏览器兼容目标。默认值是一个 Vite 特有的值——'modules',这是指 支持原生 ES 模块的浏览器。
      // target: 'es2015',
      // 指定生成静态资源的存放路径(相对于 build.outDir)。
      // outDir: 'dist',
      // 指定生成静态资源的存放路径(相对于 build.outDir)。
      // assetsDir: 'assets',
      /**
       * 构建后是否生成 source map 文件。如果为 true,
       * 将会创建一个独立的 source map 文件。如果为 'inline',
       * source map 将作为一个 data URI 附加在输出文件中。'hidden' 的工作原理与 'true' 相似
       * ,只是 bundle 文件中相应的注释将不被保留。
       */
      // sourcemap: false,
      terserOptions: {
        /**
         * command 用来判断环境
         */
        compress: {
          drop_console: command !== 'serve',
          // 默认是true
          drop_debugger: command !== 'serve'
        }
      }
    },
    server: {
      host: '0.0.0.0',
      port: 7001,
      open: false,
      proxy: {
        '/api': 'http://10.10.10.90:8224'
      }
    }
  }
})

你可能感兴趣的:(前端,vue.js,前端,javascript)