最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue打包terser壓縮去除控制臺(tái)打印和斷點(diǎn)過(guò)程

 更新時(shí)間:2024年07月19日 09:01:49   作者:EricFRQ  
這篇文章主要介紹了vue打包terser壓縮去除控制臺(tái)打印和斷點(diǎn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

情況一

1、vue-cli搭建

代碼壓縮工具terser在vue-cli里面是自動(dòng)支持的,所以直接在vue.config.js里面加入下面配置:

const {defineConfig} = require('@vue/cli-service')
module.exports=defineConfig({
  transpileDependencies:true,
  terser:{
    terserOptions: {
      compress: {
        drop_console: true, // 移除 console
        drop_debugger: true, // 移除 debugger
      },
    },
  }
})

2、Vite 搭建

如果你使用的是 Vite 來(lái)構(gòu)建 Vue 3 項(xiàng)目,Terser 已經(jīng)作為默認(rèn)的壓縮工具被內(nèi)置。

你可以通過(guò) vite.config.js 文件來(lái)自定義 Terser 的配置,所以直接加入下面配置即可:

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

export default defineConfig({
  plugins: [
    vue(),
    terser({
      format: {
        comments: false, // 不保留注釋
      },
      compress: {
        drop_console: true, // 移除 console
        drop_debugger: true, // 移除 debugger
      },
    }),
  ],
});

3、配置補(bǔ)充說(shuō)明

Terser 提供了許多配置選項(xiàng),以下是一些常用的配置:

  • drop_console:移除所有的 console 語(yǔ)句。
  • drop_debugger:移除所有的 debugger 語(yǔ)句。
  • format:定義輸出格式,例如是否保留注釋。
  • compress:一個(gè)對(duì)象,包含多個(gè)壓縮選項(xiàng),如死代碼消除、變量提升等。

情況二

如果用腳手架vue-cli沒有默認(rèn)安裝這個(gè)插件,可以手動(dòng)安裝,具體步驟如下:

1、安裝插件

npm install terser-webpack-plugin --save-dev

2、vue.config.js里面加入配置

const TerserPlugin = require('terser-webpack-plugin');

module.exports = {
  configureWebpack: {
    optimization: {
      minimizer: [
        new TerserPlugin({
          terserOptions: {
            compress: {
              drop_console: true, // 移除 console
              drop_debugger: true, // 移除 debugger
            },
          },
        }),
      ],
    },
  },
};

3、效果對(duì)比

(1)壓縮前打包

并且打包后的代碼里有控制臺(tái)打印相關(guān)的代碼

(2)壓縮打包后

控制臺(tái)打印相關(guān)的代碼也被屏蔽了

4、vue-cli搭建的vue3 完整參考文件

配置如下:

const TerserPlugin = require('terser-webpack-plugin');

module.exports = {
  // publicPath: "/zhaopin",
  chainWebpack: config => {
    config.plugins.delete("fork-ts-checker"); // 禁用fork-ts-checker
  },
  configureWebpack: //插件配置
  {
    // plugins:
    //   [new CopyWebpackPlugin(
    //     { patterns: [{ from: path.resolve(__dirname, 'static'), to: 'server', }] }
    //   )
    //   ]
    optimization: {
      minimizer: [
        new TerserPlugin({
          terserOptions: {
            compress: {
              drop_console: true, // 移除 console
              drop_debugger: true, // 移除 debugger
            },
          },
        }),
      ],
    },
  },
  devServer: {
    port: 8080, // 端口號(hào)
    // 如果外網(wǎng)想ip訪問(wèn) 屏蔽掉host
    // host: 'localhost',
    https: false, // https:{type:Boolean}
    open: false, // 配置自動(dòng)啟動(dòng)瀏覽器
    // proxy: 'http://localhost:3000' // 配置跨域處理,只有一個(gè)代理
    proxy: {
      'sysApi/': {
        // target: 'http://localhost:8088',
        target: 'http://1.94.47.xxx:8021/sysApi',
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          '^/sysApi': '' // 通過(guò)pathRewrite重寫地址,將前綴/api轉(zhuǎn)為/
        }
      }
    } // 配置多個(gè)代理
  },
  assetsDir: 'static',
  lintOnSave: false,
};

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

廊坊市| 徐汇区| 旬邑县| 县级市| 诏安县| 赤峰市| 吉安县| 江山市| 克东县| 峡江县| 綦江县| 简阳市| 广饶县| 高安市| 乡宁县| 伊宁市| 勐海县| 巴南区| 鱼台县| 平武县| 鹤峰县| 浦城县| 新民市| 和政县| 冀州市| 普安县| 仙游县| 锡林浩特市| 玛沁县| 丹东市| 鹤山市| 阿城市| 江油市| 望都县| 宜昌市| 仁化县| 肃北| 红河县| 西丰县| 稻城县| 朝阳市|