sass
object
用于控制对 scss 代码的编译行为,具体配置可以参考 node-sass。
当需要往所有 scss 文件头部插入 scss 代码时,可以通过以下三个额外参数设置:
sass.resource
string | array
需要全局注入的 scss 文件的绝对路径。如果要引入多个文件,支持以数组形式传入。
当存在 projectDirectory 配置时,才支持传入相对路径。
sass.projectDirectory
string
项目根目录的绝对地址(若为小程序云开发模板,则应该是client目录)。
sass.data
string
全局 scss 变量,若 data 与 resource 中设置了同样的变量,则 data 的优先级高于 resource。
全局注入 scss 的例子
单文件路径形式
当只有 resource
字段时,可以传入 scss 文件的绝对路径。
module.exports = {
// ...
sass: {
resource: path.resolve(__dirname, '..', 'src/styles/variable.scss')
}
}
多文件路径形式
此外,当只有 resource
字段时,也可以传入一个路径数组。
module.exports = {
// ...
sass: {
resource: [
path.resolve(__dirname, '..', 'src/styles/variable.scss'),
path.resolve(__dirname, '..', 'src/styles/mixins.scss')
]
}
}
指定项目根目录路径形式
你可以额外配置 projectDirectory
字段,这样你就可以在 resource
里写相对路径了。
module.exports = {
// ...
sass: {
resource: [
'src/styles/variable.scss',
'src/styles/mixins.scss'
],
projectDirectory: path.resolve(__dirname, '..')
}
}
传入 scss 变量字符串
data 中声明的 $nav-height 变量优先级最高。
module.exports = {
// ...
sass: {
resource: [
'src/styles/variable.scss',
'src/styles/mixins.scss'
],
projectDirectory: path.resolve(__dirname, '..'),
data: '$nav-height: 48px;'
}
}