您当前的位置: 首页 > 

任磊abc

暂无认证

  • 2浏览

    0关注

    182博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

vite移除项目中的console

任磊abc 发布时间:2022-02-21 11:56:30 ,浏览量:2

注:vite2.6.x需要配置 “build.minify” 为 “terser”

在vue-cli中移除console,是要下载babel-plugin-transform-remove-console插件。 但是在vite中已经内置了移除console的设置了,只需要配置一下就行了。

//vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
    plugins: [vue()],
    build: {
        minify: 'terser',
        terserOptions: {
            compress: {
                //生产环境时移除console
                drop_console: true,
                drop_debugger: true,
            },
        },
    },
})

而如果使用esbuild来构建去掉consoledebugger,会使用如下方法:

 ...
build: {
      minify: 'esbuild',
      sourcemap: boo,
      chunkSizeWarningLimit: 1500,
      esbuild: {
        drop: mode === 'production' ? ['console', 'debugger'] : []
      },
      rollupOptions: {
        output: {
          chunkFileNames: (chunkInfo) => {
            const facadeModuleId = chunkInfo.facadeModuleId
              ? chunkInfo.facadeModuleId.split('/')
              : [];
            const fileName =
              facadeModuleId[facadeModuleId.length - 2] || '[name]';
            return `js/${fileName}/[name].[hash].js`;
          }
        }
      }
    },
    esbuild: {
      drop: mode === 'production' ? ['console', 'debugger'] : []
    },
...

除此以外,还可以用vite-plugin-remove-console这个插件进行去除:

  • vite.config.ts
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import removeConsole from 'vite-plugin-remove-console';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    removeConsole()
  ]
});

关注
打赏
1656830895
查看更多评论
立即登录/注册

微信扫码登录

0.0354s