方案一(已失败)

1.安装sass-resources-loader插件

npm i sass-resources-loader
项目地址:[http://npm.taobao.org/package/sass-resources-loader](http://npm.taobao.org/package/sass-resources-loader)

2.uni-app项目根目录下手动创建一个vue.config.js配置文件

配置vue.config.js如下:

// vue.config.js
module.exports = {
    chainWebpack: config => {
        const oneOfsMap = config.module.rule('scss').oneOfs.store
        oneOfsMap.forEach(item => {
            item
                .use('sass-resources-loader')
                .loader('sass-resources-loader')
                .options({
                    // Provide path to the file with resources(这里是你.scss文件所在路径)
                    resources: './assets/css/*.scss',
                })
                .end()
        })
    }
}

3.新建你需要全局引入的.scss文件,如下:

image.png
image.png

4. 在需要用到全局样式的时候直接使用即可,如下:

image.png

5.效果如下:

image.png

目前这种方案在自定义编译模式下(手动调用npm run dev)可行,但是用hdx运行会报错,uni-app官方的bug

方案二

使用uni-app项目内置的uni.scss,这个文件(项目根目录)里面的scss样式可以全局使用,不需要单个页面import.scss文件

坑又来了,uni.scss里面不支持引入你自定义的scss文件然后全局使用,没办法,LJ 框架
不仅如此,sb框架还不支持函数@mixin等


MangoGoing
774 声望1.2k 粉丝

开源项目:详见个人详情