From 4bf27b2c1b5814f22d8fd39a611eb1f940ed7851 Mon Sep 17 00:00:00 2001 From: luckyadam Date: Mon, 10 Jun 2019 11:41:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(plugin-sass):=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E8=AE=BE=E7=BD=AE=20plugin.sass.data=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=9D=A5=E8=AE=BE=E7=BD=AE=E5=85=A8=E5=B1=80?= =?UTF-8?q?=20sass=20=E5=8F=98=E9=87=8F=EF=BC=8Cclose=20#3314?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/config-detail.md | 14 +++++++------- packages/taro-plugin-sass/index.js | 5 ++++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/config-detail.md b/docs/config-detail.md index 8c8479696029..e4ccf8201a71 100644 --- a/docs/config-detail.md +++ b/docs/config-detail.md @@ -64,20 +64,20 @@ csso: { ### plugins.sass 用来配置 `sass` 工具,设置打包过程中的 SCSS 代码编译。 -具体配置可以参考[dart-sass](https://www.npmjs.com/package/dart-sass) -v1.2.23改为用[dart-sass](https://www.npmjs.com/package/dart-sass)作编译工具 -v1.2.23前使用[node-sass](https://www.npmjs.com/package/node-sass)作编译工具 -当需要全局注入scss文件时,可以添加两个额外参数:`resource` 、 `projectDirectory` (v1.2.25开始支持),具体配置方式如下: +具体配置可以参考[dart-sass](https://www.npmjs.com/package/node-sass) +当需要全局注入scss文件时,可以添加三个额外参数:`resource` 、 `projectDirectory` (v1.2.25开始支持)、`data`(v1.3.0开始支持),具体配置方式如下: ```jsx sass: { resource: path.resolve(__dirname, '..', 'src/styles/variable.scss'), // OR // resource: ['path/to/global.variable.scss', 'path/to/global.mixin.scss'] - projectDirectory: path.resolve(__dirname, '..') + projectDirectory: path.resolve(__dirname, '..'), + data: '$nav-height: 48px;', } ``` -resource: 如果要引入多个文件,支持数组形式传入。 -projectDirectory: 项目根目录的绝对地址(若为小程序云开发模板,则应该是client目录)。 +* resource: 如果要引入多个文件,支持数组形式传入 +* projectDirectory: 项目根目录的绝对地址(若为小程序云开发模板,则应该是client目录) +* data: 全局 scss 变量,若 data 与 resource 中设置了同样的变量,则 data 的优先级高于 resource ## env diff --git a/packages/taro-plugin-sass/index.js b/packages/taro-plugin-sass/index.js index c352df835d26..6bf02f89c626 100644 --- a/packages/taro-plugin-sass/index.js +++ b/packages/taro-plugin-sass/index.js @@ -25,7 +25,10 @@ module.exports = function compileSass (content, file, config) { reject(e) } } - const opts = Object.assign(config, { + if (config.data) { + bundledContent += config.data + } + const opts = Object.assign({}, config, { file, data: bundledContent ? bundledContent + content : content })