vue项目中postcss-pxtorem的配置失败问题 style-resources-loader的相关配置

vue项目安装使用postcss-pxtorem,在vue.config.js中进行配置,需要注意vue-cli-service的版本。

如若vue-cli-service的版本为4,可直接在vue.config.js中进行配置。

style-resources-loader作用是可以将css或less样式文件自动引入到vue组件中,无需自己手动引入,需要下载style-resources-loader以及vue-cli-plugin-style-resources-loader,在pluginOptions配置项中进行配置。代码如下:

const path = require('path');
module.exports = {
    chainWebpack: config => {
        config.resolve.alias.set('@src', path.resolve(__dirname, 'src'));
    },
    css: {
        loaderOptions: {
            postcss: {
                plugins: [
                    require('postcss-pxtorem')({
                        rootValue: 14.4, // 换算的基数
                        // 忽略转换正则匹配项。插件会转化所有的样式的px。比如引入了三方UI,也会被转化。目前我使用 selectorBlackList字段,来过滤
                        // 如果个别地方不想转化px。可以简单的使用大写的 PX 或 Px 。
                        // selectorBlackList: [/^\.el/, /^\.am/],
                        selectorBlackList: ['html'],
                        propList: ['*'],
                        exclude: /node_modules/,
                        replace: true,
                        mediaQuery: false,
                        minPixelValue: 0,
                    }),
                ],
            },
        },
    },
    pluginOptions: {
        'style-resources-loader': {
            preProcessor: 'less',
            patterns: [path.resolve(__dirname, 'src/assets/less/mixins.less')],
        },
    },
};

如若vue-cli-service的版本为5,则按以上配置无效,postcss-pxtorem相关配置需要在postcss.config.js中设置,正确配置如下:

const { defineConfig } = require('@vue/cli-service');
const path = require('path');
module.exports = defineConfig({
    transpileDependencies: true,
    chainWebpack: config => {
        config.resolve.alias.set('@src', path.resolve(__dirname, 'src'));
    },
    pluginOptions: {
        'style-resources-loader': {
            preProcessor: 'less',
            patterns: [path.resolve(__dirname, 'src/assets/less/mixins.less')],
        },
    },
});

 postcss.config.js

module.exports = {
    plugins: {
        'postcss-pxtorem': {
            rootValue: 14.4,
            propList: ['*'],
            selectorBlackList: ['html'],
            exclude: /node_modules/,
            replace: true,
            mediaQuery: false,
            minPixelValue: 0,
        },
    },
};

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值