首页 > 其他分享 >vite打包 删除console,还有拆分太大的包配置

vite打包 删除console,还有拆分太大的包配置

时间:2024-10-14 21:48:36浏览次数:7  
标签:插件 console log terser 拆分 去除 vite

在 Vite 中,你可以通过使用 Rollup 插件来自动去除 console.log 语句。一个常用的插件是 rollup-plugin-terser,它能够压缩和优化代码,包括去除调试语句。

以下是如何在 Vite 中配置该插件的步骤:

  1. 安装插件

    首先,你需要安装 terserrollup-plugin-terser

    npm install terser rollup-plugin-terser --save-dev
    
  2. 配置 Vite

    vite.config.js 中引入并使用该插件:

    import { defineConfig } from 'vite';
    import { terser } from 'rollup-plugin-terser';
    
    export default defineConfig({
      build: {
        rollupOptions: {
          plugins: [
            terser({
              compress: {
                drop_console: true, // 去除 console.log
              },
            }),
          ],
        },
      },
    });
    
  3. 构建项目

    现在,当你运行构建命令(例如 vite build)时,所有的 console.log 语句将被自动去除。

注意事项

  • 这种配置只在生产模式下生效,因此在开发模式下不会去除 console.log,以便于调试。
  • 确保你在生产环境中使用该配置,以避免在最终用户的浏览器中留下调试信息。
build: {
        rollupOptions: {
            plugins: [
                terser({
                    compress: {
                        drop_console: true // 去除 console.log
                    }
                })
            ],
            output: {
				//拆分太大的包配置
                manualChunks(id) {
                    if (id.includes('node_modules')) {
                        return id.split('node_modules/')[1].split('/')[0].toString(); // 以模块名命名
                    }
                }
            }
        }
    }

标签:插件,console,log,terser,拆分,去除,vite
From: https://www.cnblogs.com/jocongmin/p/18466257

相关文章

  • html vite modulerpreload 和preload 作用和区别
    <linkrel="modulepreload">和<linkrel="preload">的功能在某种程度上是相似的,主要都是用于优化资源的加载性能,但它们之间有一些关键区别:相似之处预加载资源:两者都允许浏览器提前下载指定的资源,以减少后续使用时的加载延迟。非阻塞加载:都不会阻塞DOM渲染,浏览器......
  • Vite打包碎片化,如何化解?
    背景我们在使用Vite进行打包时,经常会遇到这个问题:随着业务的展开,版本迭代,页面越来越多,第三方依赖也越来越多,打出来的包也越来越大。如果把页面都进行动态导入,那么凡是几个页面共用的文件都会进行独立拆包,从而导致大量chunk碎片的产生。许多chunk碎片体积都很小,比如:1k,2k,3k,从......
  • py:PDF文件拆分任意页数
    一、简介PyMuPDF,简称fitz,是一个轻量级的Python库,它基于MuPDF的C++库,提供了丰富的功能,包括但不限于PDF的读取、编辑、转换和渲染。Fitz作为PyMuPDF的子模块,简化和封装了PyMuPDF的功能,使得在Python中处理PDF文件更加简单。二、安装PyMuPDF(包含fitz模块)可以通过Python的包管理......
  • 代码随想录算法训练营 | 322. 零钱兑换,279.完全平方数,139.单词拆分
    322.零钱兑换题目链接:322.零钱兑换文档讲解︰代码随想录(programmercarl.com)视频讲解︰零钱兑换日期:2024-10-12想法:完全背包,注意初始化除dp[0]外都要置为Integer.MAX_VALUE,才能后面选出最小值,还有判断dp[j-coins[i]]!=Integer.MAX_VALUE,不成立的化代表除去coins[i]后,没有......
  • 利用 console.log 能玩出什么厉害的花活?
    你有打开控制台查看网页的习惯吗?比如打开百度的控制台,你能看到这样的console.log你可能不知道console.log支持一些基本的css样式 console.log能做到的远不止这些!让我们看看console.log能整出那些花活技巧。 入门级:给console.log加点颜色console.log可以添加基本的......
  • flask 项目拆分
    第一种方法flask项目拆分 目前是最简单项目,没有models app.py 入口文件fromAppimportcreate_appapp=create_app()if__name__=='__main__':app.run()__init__.py  app目录#初始化文件fromflaskimportFlaskfrom.viewsimport*def......
  • electron-vite_4使用WebContentsView快速集成已有项目
    Web嵌入官方推荐使用WebContentsView;集成也比较简单,但还是需要你单独写点东西;src/main/index.ts进行修改import{app,shell,BrowserWindow,ipcMain,nativeImage,WebContentsView,dialog}from'electron';functioncreateWindow():void{//1.创建br......
  • electron-vite_6js-cookie失效
    我们项目是用了js-cookie,后续集成的时候发现,无法进入首页;经过排查是js-cookie无法使用,可能是electron打包后的项目运行的时候是file:///猜测原因:因为Cookie是与域名相关联的,而file:///协议没有域名,因此Cookie可能无法正常工作。file:///C:/Users/Administrator/AppData/......
  • vue3--vite环境变量的配置
    在开发环境、测试环境、生产环境需要请求不同的接口,对应不同的数据。因此,配置环境变量也尤为重要第一:为项目根目录开发、测试、生成(也可以加入预发布)环境创建.env文件.env.development.env.production.env.test第二:配置数据#变量必须以VITE_为前缀才能暴露给外部读取......
  • Vite和Wabpack进行打包项目
    问题:首先,咱们为什么要打包?答案:打包(Packaging)是软件开发中的一个重要步骤,主要目的是将开发好的代码和依赖项打包成一个可分发和运行的格式。关键原因:依赖管理、环境隔离、便于分发、版本控制、安全性、性能优化、部署简化在不同的编程语言和框架中,打包工具和方法可能会有所不......