webpack生产环境配置-css兼容性处理

css兼容性处理

1,创建文件
在这里插入图片描述
2,下载loader

npm install --save-dev postcss-loader postcss-preset-env

3,修改配置文件webpack.config.js

const { resolve } = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

// 设置nodejs环境变量
// process.env.NODE_ENV = 'development';

module.exports = {
  entry: './src/js/index.js',
  output: {
    filename: 'js/built.js',
    path: resolve(__dirname, 'build')
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          MiniCssExtractPlugin.loader,
          'css-loader',
          /*
            css兼容性处理:postcss --> postcss-loader postcss-preset-env

            帮postcss找到package.json中browserslist里面的配置,通过配置加载指定的css兼容性样式

            "browserslist": {
              // 开发环境 --> 设置node环境变量:process.env.NODE_ENV = development
              "development": [
                "last 1 chrome version",
                "last 1 firefox version",
                "last 1 safari version"
              ],
              // 生产环境:默认是看生产环境
              "production": [
                ">0.2%",
                "not dead",
                "not op_mini all"
              ]
            }
          */
          // 使用loader的默认配置
          // 'postcss-loader',
          // 修改loader的配置
          {
            loader: 'postcss-loader',
            options: {
              ident: 'postcss',
              plugins: () => [
                // postcss的插件
                require('postcss-preset-env')()
              ]
            }
          }
        ]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    }),
    new MiniCssExtractPlugin({
      filename: 'css/built.css'
    })
  ],
  mode: 'development'
};

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4,修改package.json

  "browserslist": {
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ],
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ]
  },

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: postcss-loader的兼容性处理默认环境是开发环境。在webpack中,postcss-loader的配置如下: ```js { loader: 'postcss-loader', options: { // 在开发环境下使用的插件 plugins: [ require('autoprefixer') ] } } ``` 可以看到,options选项中只配置了在开发环境下使用的插件,没有配置在生产环境下使用的插件。因此,默认情况下,postcss-loader的兼容性处理是针对开发环境的。 ### 回答2: Webpack5中的postcss-loader兼容性处理默认环境是开发环境。 PostCSS是一个用JavaScript编写的工具,用于为CSS添加各种插件和工具。postcss-loader是Webpack中使用的一个加载器,用于处理CSS文件,并将其传递给PostCSS进行进一步的处理。 在Webpack5中,默认情况下,postcss-loader的兼容性处理是针对开发环境进行的。这意味着在开发环境中,postcss-loader会根据开发环境的要求和配置,自动处理CSS兼容性问题。 在开发环境中,我们通常需要保持较高的开发效率,因此会使用一些开发时专门针对某些浏览器或环境进行了优化的CSS语法或属性,例如使用部分CSS3的新特性。但是这些CSS语法或属性在其他较老的浏览器上可能不被支持,因此在生产环境中需要进行兼容性处理。 而在Webpack5中,postcss-loader的兼容性处理默认是针对开发环境进行的。这意味着在开发环境中,postcss-loader会根据配置的兼容性要求,对CSS文件进行像autoprefixer这样的插件的处理,自动给CSS添加浏览器厂商前缀,以保证在开发时的效果和开发体验。 需要注意的是,在生产环境中,我们通常需要将CSS文件进行进一步的优化和压缩,同时还需要进行兼容性处理,以确保在不同浏览器和环境下的正常显示。因此,在生产环境中可能需要根据具体的需求和配置,对postcss-loader进行额外的配置和调整,以满足项目的兼容性要求。 ### 回答3: 是的,webpack5中postcss-loader的兼容性处理默认是在开发环境中进行的。在默认情况下,webpack5会将postcss-loader配置为在开发环境中工作。 在开发环境中,postcss-loader可以通过postcss-preset-env插件对CSS进行自动兼容性处理。postcss-preset-env可以根据目标浏览器的要求,自动添加所需的CSS前缀、转换CSS新特性等,以保证在不同浏览器中的兼容性。 然而,在生产环境中,默认情况下不进行兼容性处理,这是为了提高构建速度和减少文件大小。在生产环境中,通常会将CSS进行压缩和优化,而不进行兼容性处理。这可以通过在webpack配置文件中针对生产环境进行相应的配置来实现。 当然,根据具体需求,我们也可以在webpack配置文件中手动设置postcss-loader的配置选项,来自定义兼容性处理的环境,以适应不同的项目需求。 总结而言,webpack5中postcss-loader的兼容性处理默认是在开发环境中进行的,可以通过配置文件来自定义处理的环境。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值