vite项目配置vite.config.ts在打包过程中去除日志

news2024/11/16 11:42:07

        在生产环境上,务必要将日志清除干净,其因有二,在webgis系统中,有很多几何数据,体积大、数量多,很容易引起系统卡顿;清除log后,系统看着舒服,协同开发有很多无聊的日志,打出来没必要。

        vite中已经内置移除console的设置,只需简单配置即可生效。在配合文件根目录下开启build的配置。

 build: {
    minify: 'terser',
    terserOptions: {
      compress: {
        //生产环境时移除console、debugger
        drop_console: true,
        drop_debugger: true,
      },
    },
  },

        全局位置如下:

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import eslintPlugin from 'vite-plugin-eslint';
import { VantResolve, createStyleImportPlugin } from 'vite-plugin-style-import';
import path from 'path';
import { svgBuilder } from './scripts/svg-builder';
import { viteVConsole } from 'vite-plugin-vconsole';
import vueJsx from '@vitejs/plugin-vue-jsx';
import compression from 'vite-plugin-compression';

function resolve(dir: string) {
  return path.join(__dirname, dir);
}

// https://vitejs.dev/config/
export default defineConfig({
  base: './',
  server: {
    proxy: {
      '/dgp-oms-server-web': 'http://192.168.1.196:8650'
    }
  },
  plugins: [
    vue(),
    vueJsx(),
    eslintPlugin({
      fix: true
    }),
    createStyleImportPlugin({
      libs: [
        {
          libraryName: 'vant',
          esModule: true,
          resolveStyle: (name) => `../es/${name}/style`
        }
      ]
    }),
    compression(),
    svgBuilder('./src/svg/') // 导入全部svg,无需再单独导入
    // viteVConsole({
    //   entry: path.resolve('src/main.ts'), // entry file
    //   localEnabled: false, // dev environment
    //   enabled: true, // build production
    //   config: {
    //     maxLogNumber: 1000,
    //     theme: 'dark'
    //   }
    // })
  ],
  build: {
    minify: 'terser',
    terserOptions: {
      compress: {
        //生产环境时移除console、debugger
        drop_console: true,
        drop_debugger: true,
      },
    },
  },
  resolve: {
    extensions: ['.ts', '.tsx', '.vue', '.json', '.jsx', '.mjs', '.js'],
    alias: {
      '@': resolve('./src')
    }
  },
  css: {
    modules: {
      localsConvention: 'camelCase'
    },
    preprocessorOptions: {
      // scss全局预定义变量
      scss: {
        additionalData: '@import "@/styles/index.scss";'
      }
    }
  }
});

        测试结果:

开启前打包后有日志,开启后打包上线无日志,主打一个清爽。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1246514.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

展现天津援疆工作成果 “团结村里看振兴”媒体采风团走进和田

央广网天津11月19日消息(记者周思杨)11月18日,由媒体记者、书法和摄影家、旅行社企业代表等40余人组成的“团结村里看振兴”媒体采风团走进新疆和田。在接下来的一周时间里,采风团将走访天津援疆和田地区策勒县、于田县、民丰县乡村振兴示范村&#xff0…

FL Studio21.2.0中文语言包编曲软件入门讲解

FL Studio常称水果,是一款功能强大的编曲软件,集编曲,录音,剪辑,混音于一身,简单易上手,灵活性高,强大到突破想象。 FL Studio,当前版本 FL Studio21,百分之…

PyQt基础_004_ 按钮类控件QPushButton以及自定义按钮控件

Qpushbutton基本操作 1.热键 2.按钮加图标 3.按钮事件等 import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class Form(QDialog):def __init__(self, parentNone):super(Form, self).__init__(parent)layout QVBoxLayout()se…

基于Vue+SpringBoot的个人健康管理系统

项目编号: S 040 ,文末获取源码。 \color{red}{项目编号:S040,文末获取源码。} 项目编号:S040,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健…

Linux 6.7全面改进x86 CPU微码加载方式

导读最近,社区在清理 Linux 上的 Intel/AMD x86 CPU 微代码加载方面做了大量的工作,这些工作现已合并到 Linux 6.7 中。 由于在启动时加载 CPU 微代码对于减少不断出现的新 CPU 安全漏洞以及有时解决功能问题非常重要,Thomas Gleixner 最近开…

什么是 TLS/SSL 握手

TLS/SSL 握手是一个加密过程,每当客户端(如浏览器)与服务器建立连接时,都会在后台进行,此握手协议有助于客户端和服务器之间的安全连接,从而促进隐私、数据完整性和机密性。 TLS/SSL 握手何时发生 每当客…

【开源】基于Vue.js的数据可视化的智慧河南大屏

项目编号: S 059 ,文末获取源码。 \color{red}{项目编号:S059,文末获取源码。} 项目编号:S059,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 …

前端技术探秘-Nodejs的CommonJS规范实现原理 | 京东物流技术团队

了解Node.js Node.js是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。Node中增添了很…

idea 问题合集

调试按钮失效: 依次点击:Modules-web-src-Sources,重启IDEA即可(网上看到的方法,原因呢未明)

了解冶金行业MES系统的重要性与优势

冶金行业生产工艺极为复杂,冶金行业生产的产品种类多而繁复,并且每种企业生产的产品差异性极大,加上该行业生产需要各种大型生产设备,导致其工艺流程繁琐复杂,也因此在其生产过程中存在许多不安全的因素,若…

ros2 mqtt-client 安装并测试

mqtt_client包提供了 ROS Nodelet 或 ROS 2组件节点,使连接的基于 ROS 的设备或机器人能够使用MQTT协议通过 MQTT 代理交换 ROS 消息。这通常适用于任意 ROS 消息类型。mqtt_client还可以与在不基于 ROS 的设备上运行的 MQTT 客户端交换原始消息。 源码地址&#xf…

系列五、声明式事务(xml方式)

一、概述 声明式事务(declarative transaction management)是Spring提供的对程序事务管理的一种方式,Spring的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明,是指在配置文件中声明,用在Spring配置文件中声明式的处理事务来…

什么是高防CDN?CDN的设计原理及应用场景是什么?

随着互联网的快速发展,人们对网络的速度和稳定性要求也越来越高。CDN技术作为网络优化的重要手段,被越来越多的企业和网站所采用。现在我为大家介绍一下CDN的设计原理以及应用场景。 一.高防CDN技术概述 高防CDN是一种应用了高级防御技术的内容分发网络…

uni-app,nvue中text标签文本超出宽度不换行问题解决

复现:思路: 将text标签换为rich-text,并给rich-text增加换行的样式class类名解决:

C语言--不创建第三个变量,实现对两个数字的交换

我们先来看一下&#xff0c;创建第三个变量交换两个数字。 #include<stdio.h> {int a2;int b3;int tmp0;tmpa;ab;btmp;return 0; } 再看一下不创建的方法 法一&#xff1a; //加减法 缺点可能会溢出 int main() {int a3;int b5;printf("before:a%d b%d\n"…

PSNR计算

1.比较不同图像预处理方式对PSNR的影响 下面的代码是将单张图片喂入JSCC&#xff0c;计算PSNR。实验目的是&#xff1a;比较不同图像预处理方式对PSNR的影响。 PSNR定义如下 from torch.nn import MSELoss from PIL import Image img_PIL Image.open("/home/xxx/xxx/da…

HandBrake 1.7 近日发布

导读HandBrake 1.7 近日发布&#xff0c;作为这个开源、免费和跨平台视频转码器应用程序的重大更新&#xff0c;适用于 GNU/Linux、macOS 和 Windows 系统。 在 HandBrake 1.6 发布近一年后&#xff0c;HandBrake 1.7 版本为 Linux 用户提供了许多好处&#xff0c;包括视频摘要…

优思学院|质量工程师在汽车行业待遇好吗?

优思学院认为质量工程师在汽车行业的待遇有可能相对较好的。随着中国汽车品牌在国内市场的崛起&#xff0c;特别是在电动汽车领域的增长&#xff0c;质量工程师在保障产品质量和安全性方面变得非常重要。由于中国汽车制造商对产品质量的高度重视&#xff0c;质量工程师在制定和…

微信小程序埋点

使用如下代码封装一下&#xff0c;例如封装在log.js文件里面&#xff1a; var log wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : nullmodule.exports {debug() {if (!log) returnlog.debug.apply(log, arguments)},info() {if (!log) returnlog.info.apply(l…

AC自动机(简单模板)

AC自动机&#xff0c;就相当于是在字典树上用kmp。next数组回退的位置为最大匹配字符串在字典树上的节点位置。 在获取字典树上的next数组的时候用的是BFS每次相当与处理的一层。 下图中红线为&#xff0c;可以回退的位置&#xff0c;没有红线的节点回退的位置都是虚拟原点。…