searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Webpack 资源压缩

2023-07-10 03:46:25
4
0

Webpack是一个广泛使用的模块打包工具,它提供了多种资源压缩相关的功能和插件。下面是一些Webpack常用的资源压缩技术和插件:

1. 压缩 JavaScript:可以使用UglifyJS插件来压缩JavaScript代码。在Webpack配置文件中,通过在`optimization`选项中配置`minimizer`属性来启用UglifyJS插件,例如:

```javascript
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  // ...
  optimization: {
    minimizer: [new UglifyJsPlugin()],
  },
};
```

2. 压缩 CSS:使用css-loader和mini-css-extract-plugin插件可以将CSS文件进行压缩。在Webpack配置文件中,通过添加压缩CSS的loader和插件,例如:

```javascript
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
  // ...
  module: {
    rules: [
      // ...
      {
        test: /\.css$/,
        use: [
          MiniCssExtractPlugin.loader,
          'css-loader',
        ],
      },
    ],
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: '[name].[contenthash].css',
    }),
  ],
  // ...
};
```

3. 压缩图片:使用image-webpack-loader插件结合file-loader或url-loader可以对图片进行压缩。在Webpack配置文件中,添加对图片的loader和插件配置,例如:

```javascript
module.exports = {
  // ...
  module: {
    rules: [
      // ...
      {
        test: /\.(png|jpe?g|gif)$/i,
        use: [
          {
            loader: 'file-loader',
            options: {
              name: '[name].[contenthash].[ext]',
              outputPath: 'images',
            },
          },
          {
            loader: 'image-webpack-loader',
            options: {
              mozjpeg: {
                progressive: true,
                quality: 80,
              },
              optipng: {
                enabled: false,
              },
              pngquant: {
                quality: [0.65, 0.9],
                speed: 4,
              },
              gifsicle: {
                interlaced: false,
              },
              webp: {
                quality: 75,
              },
            },
          },
        ],
      },
    ],
  },
  // ...
};
```

按实际情况选择适合的插件和配置来实现资源压缩,从而减小文件大小,提高页面加载速度。

0条评论
作者已关闭评论
t****m
98文章数
1粉丝数
t****m
98 文章 | 1 粉丝
t****m
98文章数
1粉丝数
t****m
98 文章 | 1 粉丝
原创

Webpack 资源压缩

2023-07-10 03:46:25
4
0

Webpack是一个广泛使用的模块打包工具,它提供了多种资源压缩相关的功能和插件。下面是一些Webpack常用的资源压缩技术和插件:

1. 压缩 JavaScript:可以使用UglifyJS插件来压缩JavaScript代码。在Webpack配置文件中,通过在`optimization`选项中配置`minimizer`属性来启用UglifyJS插件,例如:

```javascript
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  // ...
  optimization: {
    minimizer: [new UglifyJsPlugin()],
  },
};
```

2. 压缩 CSS:使用css-loader和mini-css-extract-plugin插件可以将CSS文件进行压缩。在Webpack配置文件中,通过添加压缩CSS的loader和插件,例如:

```javascript
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
  // ...
  module: {
    rules: [
      // ...
      {
        test: /\.css$/,
        use: [
          MiniCssExtractPlugin.loader,
          'css-loader',
        ],
      },
    ],
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: '[name].[contenthash].css',
    }),
  ],
  // ...
};
```

3. 压缩图片:使用image-webpack-loader插件结合file-loader或url-loader可以对图片进行压缩。在Webpack配置文件中,添加对图片的loader和插件配置,例如:

```javascript
module.exports = {
  // ...
  module: {
    rules: [
      // ...
      {
        test: /\.(png|jpe?g|gif)$/i,
        use: [
          {
            loader: 'file-loader',
            options: {
              name: '[name].[contenthash].[ext]',
              outputPath: 'images',
            },
          },
          {
            loader: 'image-webpack-loader',
            options: {
              mozjpeg: {
                progressive: true,
                quality: 80,
              },
              optipng: {
                enabled: false,
              },
              pngquant: {
                quality: [0.65, 0.9],
                speed: 4,
              },
              gifsicle: {
                interlaced: false,
              },
              webp: {
                quality: 75,
              },
            },
          },
        ],
      },
    ],
  },
  // ...
};
```

按实际情况选择适合的插件和配置来实现资源压缩,从而减小文件大小,提高页面加载速度。

文章来自个人专栏
js
57 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0