Vue 中样式不生效

  • webpack 配置
module.exports = {
    module: {
        rules: [
            {
                test: /\.less$/,
                use: ['vue-style-loader', 'css-loader', 'less-loader'],
            },
        ],
    }
}
  • vue 文件内容
<template>
    <div class="blog-header">Header</div>
</template>

<script>
export default {
    setup() {
        return {};
    },
};
</script>

<style lang="less">
.blog-header {
    border-top: 5px solid #ccc;
    color: red;
}
</style>

实际渲染效果
image.png


问题:如何让样式生效?

阅读 8.9k
3 个回答
test: /.less$/,

匹配的是文件扩展名为 .less的样式,而你的样式是文件内的,建议你把

<style lang="less">

改成

<style>

试试,因为你也没有用到 less的任务语法。

//不需要vue-style-loader.新版本的这个loader会集成在vue-loader中。把css也配上试一下
{
            test: /\.css|\.less$/,
            use: [
                    {
                        loader: "css-loader"
                    }, {
                        loader: "less-loader", options: {
                            strictMath: true,
                            noIeCompat: true
                        }
                    }
            ]

        },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题