2. 配置css样式文件打包、postcss

  1. 安装postcss、postcss-loader、postcss-preset-env、cross-env、mini-css-extract-plugin
  • npm i postcss postcss-loader postcss-preset-env cross-env mini-css-extract-plugin -D
  • cross-env: 用来设置环境变量
  • mini-css-extract-plugin:将打包后的文件中的css,分离出来
  1. 安装css-loader、sass-loader style-loader
  • npm i style-loader css-loader sass-loader -D
  1. 在根目录下新建postcss.config.js配置文件
    module.exports = {
        plugins: [
            require('postcss-preset-env')
        ]
    }
  1. webpack-prod-config.js中配置
const isDevMode = process.env.NODE_ENV !== 'production'

const webpackConfigBase = {
    mode: 'production',
    module: { 
        rules: [
            {
                test: /\.((c|sa|sc)ss)$/i,
                use: [
                    /* 1、执行顺序:从下到上(从右到左)
                       2、loader作用:
                        - css-loader: 将css文件编译成commonjs模块加载js中,里面内容是样式字符串
                        - style-loader:将js中的css,通过创建style标签添加html文件中
                    */
                    {
                        loader: isDevMode ? 'style-loader' : MiniCssExtractPlugin.loader,
                    },
                    {
                        loader: 'css-loader',  

                    },
                    'postcss-loader',
                    'sass-loader'
                ],
            },
        ]
    },
    plugins: [
        new MiniCssExtractPlugin({
            filename: isDevMode ? 'static/css/style.css' : 'static/css/style.[contenthash].css',
            chunkFilename: isDevMode ? 'static/css/style.[id].css' : 'static/css/style.[contenthash].[id].css'
        }),
    ]
}
  1. package.json中配置
{
    "scripts": {
        "build": "cross-env NODE_ENV=production webpack --config webpack-prod-config.js"
    },
    "browserslist": {
        "development": [
            "last 1 chrome version",
            "last 1 firefox version",
            "last 1 safari version"
        ],
        "production": [
            ">0.2%",
            "not dead",
            "not op_mini all"
        ]
    },
}
  1. 执行命令: npm run build
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值