vue项目中,全局引用sass

news/2024/7/10 0:25:14 标签: sass, scss, vue, mixin

背景:sassmixin与全局变量文件需在多处引入十分麻烦,可以通过sass-resources-loader达到全局注入,终身受益的目的。

scss目录">scss目录

这里写图片描述

安装

npm i sass-resources-loader --save -dev

配置

build/utils.js文件的exports.cssLoaders函数内添加如下代码:

exports.cssLoaders = function (options) {
    // ...

    function generateSassResourceLoader () {
        var loaders = [
            cssLoader,
            postcssLoader, px2remLoader, // 若需要则加上这一行,不用就不加
            'sass-loader',
            {
                loader: 'sass-resources-loader',
                options: {
                    resources: [
                        path.resolve(__dirname, '../src/common/scss/variable.scss'),
                        path.resolve(__dirname, '../src/common/scss/mixins.scss')
                    ]
                }
            }
        ]
        if (options.extract) {
            return ExtractTextPlugin.extract({
                use: loaders,
                fallback: 'vue-style-loader'
            })
        } else {
            return ['vue-style-loader'].concat(loaders)
        }
    }

    // ...

    return {
        // ...
        sass: generateSassResourceLoader(), // 替换原来的,下同
        scss: generateSassResourceLoader(),
        // ...
    }
}

注意事项

1.千万不要全局注入app.scss这种全局样式文件,它会重复编译多次
2.如果需要引用lib-flexible,则需要在loader里添加px2remLoader,否则px不会自动转rem


http://www.niftyadmin.cn/n/914188.html

相关文章

JSP中文乱码问题

1.其他JSP转发过来的用request内置对象接受的中文信息乱码,处理方式在接受数据前设置下编码(在每次接收请求参数时,最好提前设置编码) request.setCharacterEncoding(“utf-8”);*//里面的编码根据你的JSP页面编码,可能是GBK*** 2.上面方式如…

vue移动端h5适配解决方案(lib-flexible+px2rem-loader)

先介绍用到的两个工具: px2rem-loader:将css中的px转为rem单位,用了它就不用自己计算rem值了 lib-flexible:根据设备宽度,修改根元素html的font-size,以适配不同终端 配置 安装1:npm i px2r…

2017沈阳网络赛G XOR 分块(分类讨论sqrt)

题意:一棵树,点权,Q次询问,A---B路径上每K个点的异或和 链接:点击打开链接 思路:分类讨论,k小于200,类似dp的预处理,在求lca的过程中可以求出来,k大于200&…

mpvue父子组件props传参失败的解决方案

表现 父组件数据还未获取时就向子组件传props,导致子组件不到数据而报错。 原因 mpvue虽然同时兼容vue和小程序的生命周期,但有先后之差,了解更多请戳:理解mpvue的生命周期 解决方案 用v-if控制子组件的渲染,判定…

如何删除Google Cloud Run Stackdriver Logging已经记录的日志

Stackdriver记录的日志在Google Cloud控制台只能看到,不能做删除操作。删除只能通过sdk指令完成 查询日志: [yeqianglocalhost cloudrunproj]$ gcloud logging logs list NAME projects/the-flame-000000/logs/cloudaudit.googleapis.com%2Factivity pr…

CSS样式内容

CSS代码规范:尽量不要在标签内使用样式代码。 .css文档内部声明不换行可以节省内存。 谨记: 常犯的错误是.html文档和.css样式表都写好了,但总会忘记插入样式表。 1.字体的样式 ​ 2.文本属性 vertical-align:middle/top/bottom; text-align属…

Redis 根据IPv6地址查询全球国家、省、市位置信息方案

1. 浏览器下载ipv6地址库。https://lite.ip2location.com/download?id13 2. 解压 [yeqianglocalhost Downloads]$ unzip IP2LOCATION-LITE-DB3.IPV6.CSV.ZIP Archive: IP2LOCATION-LITE-DB3.IPV6.CSV.ZIPinflating: LICENSE_LITE.TXT inflating: README_LITE.TXT …

郁闷呀----MSDN

MS 的中文MSDN已经开张了,不过我不知道它对于那些老的资源是怎么处理的。刚才在google上搜索了一些MSDN资源,打开的时候提示找不到网页了! 我觉得MS怎么也提供我们一种映射的方法呀!老的资料就随着新站点的开张而不见了&a…