项目常用webpack配置

本文介绍了项目中常用的webpack配置,包括使用webpack-bundle-analyzer进行包大小分析,解决svg解析问题,实现lodash按需引入,开启gzip压缩,分环境打包,管理线上接口与mock,利用dllplugin加速打包,以及在生产环境中移除debugger和console.log。
摘要由CSDN通过智能技术生成

1.分析工具:webpack-bundle-analyzer

  "scripts": {
    "serve": "vue-cli-service serve",
    "build:dev": "vue-cli-service build --mode dev",
    "build:test": "vue-cli-service build --mode test",
    "build:prod": "vue-cli-service build --mode prod --report",
    "lint": "vue-cli-service lint",
    "inspect": "vue-cli-service inspect>webpackConfig.js",
    "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
  },

生产环境:直接使用vuecli3自带的--report即可

开发环境:vuecli3内置了webpack-bundle-analyzer,所以直接配置使用,不需要npm导入

chainWebpack(config) {
    if (process.env.VUE_APP_IS_ANALYZ === 'true') {
      config
        .plugin('webpack-bundle-analyzer')
        .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
    }
  }

treemap sizes:

stat:

这是文件的“输入”大小,在任何转换(如缩小)之前。

它被称为“stat-size”,因为它是从Webpack的stats对象获得的。

parsed:

这是文件的“输出”大小。如果您使用的是像uglify这样的Webpack插件,那么这个值将反映代码的小型化。

gzipped:

这是通过gzip压缩运行解析的包/模块的大小。

2.svg解析

Webpack配置项目而异,但一般都包括以下几个方面: 1. 入口文件配置:指定项目的入口文件,一般是一个或多个JavaScript文件。 2. 出口文件配置:指定打包后的文件路径和文件名,一般是一个JavaScript文件。 3. Loader配置:用于处理非JavaScript文件,如CSS、图片、字体等文件,将其转换为JavaScript可识别的模块。 4. 插件配置:用于扩展Webpack的功能,如压缩代码、提取公共代码、拷贝静态文件等。 5. devServer配置:用于开发环境下的热更新、代理、调试等功能。 6. resolve配置:用于配置Webpack如何解析模块,包括别名、扩展名、模块路径等。 以下是一个基本的Webpack配置文件: ``` const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); module.exports = { entry: './src/index.js', output: { filename: '[name].[hash].js', path: path.resolve(__dirname, 'dist') }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader' } }, { test: /\.css$/, use: ['style-loader', 'css-loader'] }, { test: /\.(png|svg|jpg|gif)$/, use: ['file-loader'] } ] }, plugins: [ new CleanWebpackPlugin(), new HtmlWebpackPlugin({ template: './src/index.html' }) ] }; ``` 这个配置文件包括了基本的入口文件配置、出口文件配置、Loader配置和插件配置,但没有包括devServer配置和resolve配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值