node-sass - 如何在输出路径中使用通配符目录值
node-sass - How to use a wildcard directory value in output path
有没有办法让 node-sass
在其输出路径中使用变量?我正在尝试执行以下操作:
node-sass blocks/**/editor.scss -o dist/-editor.css
目标是在输出前加上其父目录的值。例如目录结构为:
blocks
├── foo
│ ├── editor.scss
├── bar
│ ├── editor.scss
└── baz
└── editor.scss
将导致以下编译的 CSS 文件名:
dist
├── foo-editor.css
├── bar-editor.css
└── baz-editor.css
以上命令当前输出:
dist
└── -editor.css
忽略
前缀。
至少,这可以在节点中完成。
const fs = require("fs");
const sass = require("node-sass");
fs.readdirSync("blocks").forEach(dir => {
sass.render(
{
file: `blocks/${dir}/editor.scss`,
outFile: `dist/${dir}-editor.css`
},
(error, result) => {
if (!error) {
fs.writeFile(`dist/${dir}-editor.css`, result.css, error => {
if (error) {
console.log(err);
} else {
console.log(`dist/${dir}-editor.css`);
}
});
}
}
);
});
有没有办法让 node-sass
在其输出路径中使用变量?我正在尝试执行以下操作:
node-sass blocks/**/editor.scss -o dist/-editor.css
目标是在输出前加上其父目录的值。例如目录结构为:
blocks
├── foo
│ ├── editor.scss
├── bar
│ ├── editor.scss
└── baz
└── editor.scss
将导致以下编译的 CSS 文件名:
dist
├── foo-editor.css
├── bar-editor.css
└── baz-editor.css
以上命令当前输出:
dist
└── -editor.css
忽略 前缀。
至少,这可以在节点中完成。
const fs = require("fs");
const sass = require("node-sass");
fs.readdirSync("blocks").forEach(dir => {
sass.render(
{
file: `blocks/${dir}/editor.scss`,
outFile: `dist/${dir}-editor.css`
},
(error, result) => {
if (!error) {
fs.writeFile(`dist/${dir}-editor.css`, result.css, error => {
if (error) {
console.log(err);
} else {
console.log(`dist/${dir}-editor.css`);
}
});
}
}
);
});