【发布时间】:2018-03-07 08:42:57
【问题描述】:
我当前的项目使用 grunt-sass 将 scss 文件翻译成 css。 根据 grunt-sass 文档,我可以使用 node-sass 提供的任何选项,除了少数几个:
选项
查看 node-sass 选项,除了 file、outFile、success、error。
我的项目从一个 SCSS 文件中编译出两个 CSS 文件。 SCSS 文件中有 if 语句,根据版本变量的值($bootstrap-version: 3; 或 $bootstrap-version: 4;)提供不同的代码。
我想使用 node-sass 选项 functions 将引导版本返回到我的 SCSS 文件。
这是我的 gruntfile。 functions: {...} 路径是我期望该选项起作用的方式。
// Compile Sass
sass: {
bootstrap3: {
options: {
style: 'expanded'
functions: {getBootstrapVersion: function(){return 3;}}
},
files: {
'dist/bootstrap3/css/my-bs3-variation.css': './bootstrap3/scss/my-bs3-variation.scss'
},
},
bootstrap4: {
options: {
style: 'expanded',
functions: {getBootstrapVersion: function(){return 4;}}
},
files: {
'dist/bootstrap4/css/my-bs4-variation.css': './bootstrap4/scss/my-bs4-variation.scss'
}
}
在 SCSS 文件中,我这样调用函数:
$bootstrap-version: getBootstrapVersion();
h1:before {
content: "Bootstrap " + $bootstrap-version + " Version of ";
}
但是,在尝试编译它时,我在调用函数的那一行得到了错误 >> Error: error in C function getBootstrapVersion: A SassValue object was expected.。
node-sass 文档中的示例对我没有多大帮助。我做错了什么?或者有没有更好的例子我只是没有找到?
我使用 grunt-sass 2.0.0 版和 node-sass 4.7.2 版
【问题讨论】: